@aiquants/daily-report 0.40.0 → 0.42.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 +299 -0
- package/README.md +3426 -1145
- package/dist/client.d.mts +59 -132
- package/dist/client.d.ts +59 -132
- package/dist/client.js +5 -7
- package/dist/client.mjs +5 -7
- package/dist/{comment-adapter-CNti3-Dv.d.ts → comment-adapter-BTXFkMSz.d.ts} +2 -3
- package/dist/{comment-adapter-BbGh4nc0.d.mts → comment-adapter-wejvIziS.d.mts} +2 -3
- package/dist/index.d.mts +7 -5
- package/dist/index.d.ts +7 -5
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{search-marks-wire-DLgJTytk.d.mts → search-marks-wire-BSS2d1t6.d.mts} +7 -1
- package/dist/{search-marks-wire-DLgJTytk.d.ts → search-marks-wire-BSS2d1t6.d.ts} +7 -1
- package/dist/server.d.mts +30 -50
- package/dist/server.d.ts +30 -50
- package/dist/server.js +13 -10
- package/dist/server.mjs +13 -10
- package/dist/sse-schema-CUiQKk8K.d.mts +286 -0
- package/dist/sse-schema-CUiQKk8K.d.ts +286 -0
- package/dist/styles/daily-report.standalone.css +1 -1
- package/package.json +11 -9
- package/dist/sse-schema-S7gXWA2N.d.mts +0 -2617
- package/dist/sse-schema-S7gXWA2N.d.ts +0 -2617
package/dist/client.mjs
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import Fy from"lucide-react/dist/esm/icons/paperclip.js";var My="data-daily-report-row-surface",Qe={[My]:""},Kr="data-daily-report-scrolling",rr=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]",nr=`${Io} h-[calc-size(auto,round(up,size,var(--aqdr-lattice-block)))]`,or="p-[8px]",Xl="pr-[8px]",vo="contain-size contain-layout contain-style",Ql="contain-strict",kt="pointer-events-none absolute size-px whitespace-nowrap opacity-0 select-none contain-layout",ne="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",Pt="border-slate-500 placeholder:text-slate-500 dark:border-slate-500 dark:placeholder:text-slate-400",Zl="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",Ls="scrollbar-thin [scrollbar-gutter:stable]",Ns=`-m-[4px] overflow-hidden p-[4px] ${Ls}`,Jl="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",_o="rounded-[calc(var(--radius-2xl)+8px)]",wo="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]",ed="[: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",xt="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",Lo=16,$r="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",td=12,No="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200";var rd="min-h-24",nd="flex h-6 items-center",Oo="[--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",He=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${ne}`,od="-mx-1",ad="flex items-center gap-1",Ke="inline-flex h-6 items-center rounded-full px-3",sd="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",id="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",tr="size-4",Oe={starOff:`${tr} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${tr} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${tr} text-blue-600 dark:text-blue-400`,delete:`${tr} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${tr} text-red-600 dark:text-red-400`,edit:`${tr} text-slate-500 dark:text-slate-400`},ld="h-6 w-10 border-4 border-solid",dd="size-4 data-[state=checked]:translate-x-4",cd="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]",ud="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var pd="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",md="rounded-xl border border-solid p-[3px]",fd="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",ky="supports-[margin-left:round(down,1px,1px)]:ml-[max(0px,round(down,calc((100%-72rem)/2),var(--aqdr-lattice-block)))]",Py="bg-slate-50 dark:bg-slate-950",rt="flex min-h-0 flex-1 flex-col",Mo=`${rt} ${Py}`,ko=`${rt} mx-auto w-full max-w-6xl ${Io} px-[var(--aqdr-lattice-block)] pt-[var(--aqdr-lattice-block)] ${ky}`,yd=`relative z-[1] flex shrink-0 flex-col ${nr}`,hd="flex grow flex-col justify-between",bd="flex min-h-8 min-w-0 items-end",Rd="grid min-w-0 grid-cols-1 gap-2 sm:grid-cols-[minmax(0,2fr)_minmax(0,1fr)_minmax(0,3fr)]",Sd="m-0 min-w-0 border-0 p-0",gd="mb-1 p-0 text-slate-700 text-xs leading-4 dark:text-slate-200",Ed="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]",wn="text-red-700 dark:text-red-400",Dd="bg-white dark:bg-slate-900",Po=`min-h-0 flex-1 overflow-clip contain-size ${Io}`,Fo="flex h-full flex-col contain-size contain-layout contain-style",Td="relative inline-block whitespace-nowrap tabular-nums",xd="invisible",Ad="absolute inset-0 contain-size contain-layout contain-style",Ho="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",Cd="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",Id="ml-[8px]",vd={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},gr="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",Ft=`m-0 ${gr}`,Ht="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 _d,jsxs as By}from"react/jsx-runtime";var Hy=2,Ln=({id:e,count:t,label:r})=>t<=0?null:By("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:[_d(Fy,{className:tr,"aria-hidden":"true"}),t>=Hy&&_d("span",{className:"font-semibold text-xs leading-4",children:t})]});import{VirtualScroll as ET}from"@aiquants/virtualscroll";import{useCallback as Fe,useEffect as br,useLayoutEffect as DT,useMemo as gl,useRef as ze,useState as fs}from"react";var Er=Object.freeze({text:"",runs:Object.freeze([])}),nt=e=>e.length===0?Er:{text:e,runs:[{displayStart:0,displayEnd:e.length,sourceStart:0,sourceEnd:e.length}]},wd=(e,t,r)=>t>=r?Er:{text:e.slice(t,r),runs:[{displayStart:0,displayEnd:r-t,sourceStart:t,sourceEnd:r}]},Os=(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}))},Ms=e=>e.displayEnd-e.displayStart===e.sourceEnd-e.sourceStart,Nn=(e,t,r)=>{if(t>=r)return Er;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(Ms(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(...Os(a-t,s-t,o.sourceStart,o.sourceEnd))}return{text:e.text.slice(t,r),runs:n}},zr=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?Er:{text:t,runs:r}},ks=e=>{let t=e.text.trimEnd().length,r=Math.min(t,e.text.length-e.text.trimStart().length);return Nn(e,r,t)},ar=e=>typeof e=="string"?ks(nt(e)):Er,Uo=(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(d=>d!==null);if(n.length===0)return e;let o="",a=[],s=0,i=(d,c)=>{if(d>=c)return;let u=o.length-d;for(;s<e.runs.length&&e.runs[s].displayEnd<=d;)s+=1;for(let p=s;p<e.runs.length&&e.runs[p].displayStart<c;p++){let f=e.runs[p],y=Math.max(f.displayStart,d),h=Math.min(f.displayEnd,c);if(!(y>=h))if(Ms(f)){let b=f.sourceStart+(y-f.displayStart);a.push({displayStart:y+u,displayEnd:h+u,sourceStart:b,sourceEnd:b+(h-y)})}else a.push(...Os(y+u,h+u,f.sourceStart,f.sourceEnd))}o+=e.text.slice(d,c)},l=0;for(let d of n)i(l,d.index),o+=r,l=d.index+d[0].length;return i(l,e.text.length),o.length===0?Er:{text:o,runs:a}},Uy=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},Vy=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 d=e.slice(a,t[i]).normalize("NFC");if(s.startsWith(d)&&d+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},Ld=e=>{let t=e.normalize("NFC");if(t===e)return nt(e);let r=Uy(e),n=r.map(s=>s.shown).join("")===t?r:Vy(e),o=[],a=0;for(let{start:s,end:i,shown:l}of n){let d=a+l.length;l===e.slice(s,i)?o.push({displayStart:a,displayEnd:d,sourceStart:s,sourceEnd:i}):o.push(...Os(a,d,s,i)),a=d}return{text:t,runs:o}},Nd=(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 d=s+i>>>1;t[d*3+1]<=a.sourceStart?s=d+1:i=d}if(Ms(a)){for(let d=s;d<o&&t[d*3]<a.sourceEnd;d++){let c=Math.max(t[d*3],a.sourceStart),u=Math.min(t[d*3+1],a.sourceEnd);n(a.displayStart+(c-a.sourceStart),a.displayStart+(u-a.sourceStart),t[d*3+2])}continue}let l=Number.POSITIVE_INFINITY;for(let d=s;d<o&&t[d*3]<a.sourceEnd;d++)l=Math.min(l,t[d*3+2]);l!==Number.POSITIVE_INFINITY&&n(a.displayStart,a.displayEnd,l)}return r},Od=String.raw`<br\s*\/?\s*>`,Md=String.raw`<\/p>`,kd="<[^>]+>",Wy=new RegExp(String.raw`(${Od}|${Md}|\r?\n)|${kd}`,"gi"),Pd=new RegExp(Od,"gi"),Ky=new RegExp(Md,"gi"),$y=new RegExp(kd,"g"),Fd=(e,t)=>{if(!e)return[];let r=[],n=[],o=0,a=()=>{let s=zr(n);n=[];let i=ks({text:s.text.replace(/ /g," "),runs:s.runs});i.text.length>0&&r.push(i)};for(let s of e.matchAll(Wy))if(n.push(wd(e,o,s.index)),o=s.index+s[0].length,s[1]!==void 0&&(a(),r.length===t))return r;return n.push(wd(e,o,e.length)),a(),r},Hd=e=>Uo(Uo(Uo(nt(e),Pd,`
|
|
2
|
-
`),
|
|
3
|
-
`)
|
|
4
|
-
`)):Er;var zy=Object.freeze({text:"-",runs:Object.freeze([])}),Me=e=>{let t=ar(e);return t.text===""?zy:t},sr=e=>Me(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"),d=String(n.getMinutes()).padStart(2,"0"),c=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${s}T${l}:${d}:${c}`}return`${o}-${a}-${s}`};import{createContext as qh,useCallback as Xh,useContext as bc,useEffect as yc,useRef as Qh,useState as Zh}from"react";import{z as Fn}from"zod";var jy=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var Vo=e=>e<10?`0${e}`:`${e}`,Yy=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=Vo(e.getMonth()+1),n=Vo(e.getDate());return`${t}-${r}-${n}`},Ud=e=>{let t=jy.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}`},jr=e=>Ud(e)===e,Ps=(e=new Date)=>Number.isNaN(e.getTime())?Ps(new Date):`${e.getFullYear()}-${Vo(e.getMonth()+1)}-${Vo(e.getDate())}`,Dr=e=>e==null?null:e instanceof Date?Yy(e):Ud(e);import{z as Gy}from"zod";var mt=e=>Number.isSafeInteger(e)&&e>0,De=Gy.number().int().positive().max(Number.MAX_SAFE_INTEGER);var Wo="ids-columns",Fs=e=>{if(typeof e!="object"||e===null)return"unknown";let{kind:t}=e;return t==="chunk"?"chunk":t==="error"?"error":"unknown"},qy=e=>typeof e=="number"&&mt(e),Xy=e=>{if(typeof e!="object"||e===null)return!1;let{businessDate:t,reportHubId:r}=e;return(t===null||typeof t=="string")&&typeof r=="number"},Qy=4,Zy=e=>{let t=Qy;for(;2**t<e*2;)t+=1;let r=new Float64Array(2**t),n=r.length-1,o=32-t;return a=>{let s=Math.imul(a|0,2654435761)>>>o;for(;;){let i=r[s];if(i===0)return r[s]=a,!0;if(i===a)return!1;s=s+1&n}}},Vd=e=>{if(Fs(e)!=="chunk")return!1;let{ids:t,dates:r,counts:n,sourceTypes:o,sources:a,isLast:s,nextCursor:i}=e;if(typeof s!="boolean"||!(i===null||Xy(i))||!(Array.isArray(t)&&Array.isArray(r)&&Array.isArray(n)&&Array.isArray(o)&&Array.isArray(a))||r.length!==n.length||a.length!==t.length)return!1;for(let p of o)if(!(p===null||typeof p=="string"))return!1;let l=Zy(t.length),d=0,c=null,u=0;for(let p=0;p<r.length;p++){let f=r[p],y=n[p];if(!(f===null||typeof f=="string"&&jr(f))||p>0&&f===r[p-1]||typeof y!="number"||!Number.isSafeInteger(y)||y<1)return!1;let h=d+y;if(h>t.length)return!1;for(;d<h;d++){let b=t[d],m=a[d];if(!(qy(b)&&l(b))||typeof m!="number"||!Number.isSafeInteger(m)||m<0||m>=o.length||d>0&&!Jy(c,u,f,b))return!1;c=f,u=b}}return d===t.length},Wd=(e,t)=>{let{ids:r,dates:n,counts:o,sourceTypes:a,sources:s}=e,i=0;for(let l=0;l<n.length;l++){let d=n[l];for(let c=i+o[l];i<c;i++){let u=a[s[i]];t(r[i],d,u===null?void 0:u)}}};var Kd=(e,t,r,n)=>e!==r?e===null?1:r===null||e>r?-1:1:n-t,Jy=(e,t,r,n)=>Kd(e,t,r,n)<0,$d=(e,t)=>Kd(e.businessDate,e.reportHubId,t.businessDate,t.reportHubId);var ke=Object.freeze({businessDate:"business-date",idsStream:Wo,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 zd=(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)}}},_I=Object.freeze(["API","Action","Attachment","ExternalSource","Isolation","Reads","Refresh","Search","SSE","SseReader","Server","Service","Streams","Visibility","ActionProvider","DetailLoader","IdsStream","SseConnection"]),jd=e=>`[DailyReport${e}]`,ir=(e,t,r)=>e===void 0?zd(t,jd(r)):zd(0,jd(r),e);var Bt=Object.freeze({maxQueryLength:500,maxSets:16,maxWordsPerSet:16,maxWords:32,maxWordLength:100,maxDetailIds:100}),eh=2,On=2,Yr=Object.freeze({word:0,reading:1}),Mn=e=>e===Yr.word||e===Yr.reading;var Ut=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},th=2*(1+eh),rh=e=>{if(!Array.isArray(e)||e.length===0||e.length>th)return null;let t=[],r=new Set;for(let n of e){if(!Ut(n))return null;let{text:o,tier:a}=n;if(typeof o!="string"||o.length===0||o.length>Bt.maxWordLength||r.has(o)||!Mn(a)||(t.length===0?a!==Yr.word:a<t[t.length-1].tier))return null;r.add(o),t.push({text:o,tier:a})}return t},nh=(e,t)=>{if(!Array.isArray(e))return null;if(!t)return e.length===0?[]:null;if(e.length===0||e.length>Bt.maxSets)return null;let r=[],n=0;for(let o of e){if(!Array.isArray(o)||o.length===0||o.length>Bt.maxWordsPerSet||(n+=o.length,n>Bt.maxWords))return null;let a=[];for(let s of o){let i=rh(s);if(i===null)return null;a.push(i)}r.push(a)}return r},Yd=(e,t)=>{if(!Ut(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=nh(e.words,t);if(a===null)return null;let s=[];for(let i=0;i<r.length;i++){let l=r[i],d=n[i],c=o[i];if(typeof l!="number"||!mt(l)||d!==null&&(typeof d!="string"||!jr(d))||typeof c!="string"||c.length===0)return null;s.push({reportHubId:l,businessDate:d,sourceType:c})}return{items:s,words:a}};import{z as U}from"zod";var Ko=/^(?:[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 Gd=["auth-required","forbidden","resync-required"],Hs=15e3,qd="lastEventId",oh=/^\d{1,15}-\d{1,15}$/,$o=e=>oh.test(e),ah=U.object({name:U.string().nullish(),affiliation:U.string().nullish()}),sh=U.object({name:U.string().nullish(),text:U.string().nullish(),color:U.string().nullish()}),ih=U.object({id:De,name:U.string().nullish(),color:U.string().nullish()}),zo=U.object({id:De,userId:U.string().nullish(),userName:U.string().nullish(),content:U.string().nullish(),createdAt:U.string().nullish(),isMine:U.boolean()}),lh=U.object({id:U.string(),fileName:U.string(),fileType:U.string().nullable(),fileSize:U.number().nullable(),createdAt:U.string().nullable(),state:U.enum(["present","absent","unknown"]),hasThumbnail:U.boolean().default(!1)}),At=U.object({reportHubId:De,date:U.string().nullish(),createdAt:U.string().nullish(),author:U.string().nullish(),userId:U.string().nullish(),sourceType:U.string().nullish(),employeeName:U.string().nullish(),updatedBy:U.string().nullish(),updatedAt:U.string().nullish(),category:U.string().nullish(),creationCategory:U.string().nullish(),visitTimeFrom:U.string().nullish(),visitTimeTo:U.string().nullish(),customerName:U.string().nullish(),interviewers:U.array(ah),subject:U.string().nullish(),content:U.string().nullish(),externalComments:U.array(sh),isRead:U.boolean(),isStarred:U.boolean(),isDraft:U.boolean(),labels:U.array(ih),postedComments:U.array(zo),attachments:U.array(lh).default([])}),Tr=U.string().regex(Ko),dh=U.object({type:U.literal("connected")}),ch=U.object({type:U.literal("status-update"),reportHubId:De,statusType:U.enum(["star","read"]),value:U.boolean(),clientTempId:Tr,recipientRawUserId:De.optional()}),Bs=U.string().optional(),uh=U.object({type:U.literal("comment-add"),reportHubId:De,comment:zo,clientTempId:Tr,recipientRawUserId:De.optional(),sourceType:Bs}),ph=U.object({type:U.literal("comment-delete"),reportHubId:De,commentId:De,clientTempId:Tr,recipientRawUserId:De.optional(),sourceType:Bs}),mh=U.object({type:U.literal("report-create"),reportHubId:De,report:At,clientTempId:Tr,recipientRawUserId:De.optional()}),fh=U.object({type:U.literal("report-update"),reportHubId:De,report:At,clientTempId:Tr,recipientRawUserId:De.optional()}),yh=U.object({type:U.literal("report-publish"),reportHubId:De,report:At,clientTempId:Tr,recipientRawUserId:De.optional()}),hh=U.object({type:U.literal("report-delete"),reportHubId:De,clientTempId:Tr,sourceType:Bs}),Xd=U.discriminatedUnion("type",[dh,ch,uh,ph,mh,fh,yh,hh]);var jo=e=>e.issues.map(t=>`${t.path.length===0?"(root)":t.path.join(".")}: ${t.code}`).join("; ");import{resolveVirtualScrollLocale as _h}from"@aiquants/virtualscroll";import{createContext as wh,useMemo as Lh}from"react";var bh=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,we=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${bh(r)}`),Qd=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),kn=(e,t,r)=>we(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t),ft=(e,t,r,n)=>{if(typeof t=="number"&&Number.isSafeInteger(t)&&t>=r&&(n===void 0||t<=n))return t;throw we(e,n===void 0?`an integer >= ${r}`:`an integer from ${r} to ${n}`,t)};import{useContext as Rh}from"react";var yt=(e,t,r)=>{let n=Rh(e);if(n===null)throw new Error(`[daily-report] ${t} must be used within a ${r}`);return n};import{resolveVirtualScrollLabels as Sh,resolveVirtualScrollLocale as gh,VIRTUAL_SCROLL_LABEL_CATALOGS as Zd,VIRTUAL_SCROLL_LABEL_KEYS as Ws}from"@aiquants/virtualscroll";var tc=["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"],rc=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","noticeRepeated","rowState","listRowPosition","listRowPositionInUnknownTotal","searchHitCount","searchFailed","searchMatchedKeywords","searchMatchedKeywordsDescription","searchFieldMatched","searchFieldMatchedByReading","searchFiltersToggle","searchFiltersFailed"],Us=[...Ws,...tc,...rc];var Jd=Object.freeze({en:"en-US",ja:"ja-JP"}),Eh=Object.freeze({en:new Intl.NumberFormat(Jd.en),ja:new Intl.NumberFormat(Jd.ja)}),fe=(e,t)=>Eh[e].format(t),Dh=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"}),Th=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"}),xh=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"}),Ah=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"}),Ch=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"}),Ih=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"}),Vs=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: ${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 ${Th[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=>Ah[e],searchMatchedKeywords:(e,t)=>`Match ${e}/${t}`,searchMatchedKeywordsDescription:(e,t)=>`Matches ${e} of ${t} keywords`,searchFieldMatched:e=>`${e} matched`,searchFieldMatchedByReading:e=>`${e} matched by its romaji reading`,searchFiltersToggle:e=>e===0?"Filters":`Filters (${fe("en",e)})`,searchFiltersFailed:e=>Ih[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: ${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=>`${Dh[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=>xh[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`,searchFieldMatched:e=>`${e}\u3067\u4E00\u81F4`,searchFieldMatchedByReading:e=>`${e}\u304C\u30ED\u30FC\u30DE\u5B57\u306E\u8AAD\u307F\u3067\u4E00\u81F4`,searchFiltersToggle:e=>e===0?"\u7D5E\u308A\u8FBC\u307F":`\u7D5E\u308A\u8FBC\u307F (${fe("ja",e)})`,searchFiltersFailed:e=>Ch[e]})}),nc=Object.freeze({en:Object.freeze({...Zd.en,...Vs.en}),ja:Object.freeze({...Zd.ja,...Vs.ja})}),vh=e=>{let t={},r=!1;for(let n of Ws){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},ec=(e,t,r)=>{e[t]=r},Ks=(e,t)=>{let r=gh(e);if(t===void 0)return nc[r];if(t===null||typeof t!="object")throw we("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw we("labels","a plain object (prototype Object.prototype or null)",t);for(let s of Object.keys(t))if(!Us.includes(s))throw kn("labels key",s,Us);let a={...Sh(r,vh(t)),...Vs[r]};for(let s of tc){let i=Object.hasOwn(t,s)?t[s]:void 0;if(i!==void 0){if(typeof i!="string"||i.trim()==="")throw we(`labels.${s}`,"a non-blank string",i);ec(a,s,i)}}for(let s of rc){let i=Object.hasOwn(t,s)?t[s]:void 0;if(i!==void 0){if(typeof i!="function")throw we(`labels.${s}`,"a function",i);ec(a,s,i)}}return Object.freeze(a)},oc=e=>{let t={};for(let r of Ws)t[r]=e[r];return Object.freeze(t)};import{jsx as $s,jsxs as Wh}from"react/jsx-runtime";var Nh=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),Oh=({title:e,annotation:t})=>Wh("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[$s("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?$s("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),Pn=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",renderHeader:Oh,showDevControls:!1,headingLevel:3}),ac=["apiBasePath","ssePath","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired","search"];var Mh=e=>{for(let t of Object.keys(e))if(!ac.includes(t))throw kn("config key",t,ac)},sc=[2,3,4,5],kh=e=>{if(e===void 0)return Pn.headingLevel;let t=sc.find(r=>r===e);if(t===void 0)throw we("config.headingLevel",`one of ${sc.join(", ")} (the level of each report's heading)`,e);return t},ic=["debounceMs","renderFilterSelect"],Ph=Object.freeze({min:300,max:5e3}),Fh=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},Hh=e=>{if(e===void 0)return null;if(typeof e!="function")throw we("config.search.renderFilterSelect","a function (it renders the control of each filter cell)",e);return e},Bh=e=>{if(e===void 0)return null;if(!Fh(e))throw we("config.search","a plain object ({} for Enter only, or { debounceMs })",e);for(let o of Object.keys(e))if(!ic.includes(o))throw kn("config.search key",o,ic);let t=e.debounceMs,{min:r,max:n}=Ph;return{debounceMs:t===void 0?null:ft("config.search.debounceMs",t,r,n),renderFilterSelect:Hh(e.renderFilterSelect)}},Uh=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw we(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},Vh=e=>{Mh(e);let t=e.onSessionExpired;if(t===void 0)throw Qd("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw we("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=_h(e.locale),n=Ks(r,e.labels),o=Pn;return{apiBasePath:e.apiBasePath===void 0?o.apiBasePath:e.apiBasePath,ssePath:e.ssePath===void 0?o.ssePath:e.ssePath,locale:r,labels:n,sourceTypeConfigs:e.sourceTypeConfigs===void 0?Nh(n):Uh(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:kh(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired,search:Bh(e.search)}},lc=wh(null),zs=({config:e,children:t})=>{let r=Lh(()=>Vh(e),[e]);return $s(lc.Provider,{value:r,children:t})},q=()=>yt(lc,"useDailyReportConfig","DailyReportConfigProvider"),Vt=(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},Yo=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";var Go=({hasListener:e,batchSize:t,inFlightBound:r,send:n})=>{ft("createIdBatchScheduler: batchSize",t,1),ft("createIdBatchScheduler: inFlightBound",r,1);let o=new Set,a=new Map,s=!1,i=()=>{let c=[],u=[...o];for(let p=u.length-1;p>=0&&c.length<t;p--){let f=u[p];o.delete(f),e(f)&&c.push(f)}return c.reverse()},l=c=>{let u=new AbortController;a.set(u,c);let p=()=>{a.delete(u),d()},f=y=>{p(),u.signal.aborted&&y===u.signal.reason||globalThis.reportError(y)};n(c,u.signal).then(p,f)},d=()=>{for(s=!1;a.size<r;){let c=i();if(c.length===0)return;l(c)}};return{enqueue:c=>{o.delete(c),o.add(c),!s&&(s=!0,queueMicrotask(d))},isWanted:c=>o.has(c),release:c=>{let u=[];o.delete(c)&&u.push(c);for(let[p,f]of a)p.signal.aborted||!f.includes(c)||f.some(e)||(p.abort(),u.push(...f));return u},dispose:()=>{let c=[...o];o.clear();for(let[u,p]of a)u.signal.aborted||(u.abort(),c.push(...p));return c}}};import{tapScrollCircleSampleVisual as $h}from"@aiquants/virtualscroll";var Kh=4;var Gr=120,dc=1e3,Xo=.8,js={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},Qo=20,cc=6,Zo={reportHubId:-1,businessDate:null},Jo=240,ea=15,zh=8,uc=460,pc=3,mc=352,jh={enabled:!0,renderVisual:$h,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},ta={width:zh,tapScrollCircleOptions:jh,enableArrowButtonTabStops:!1},ra=["pen","touch"];var Yh=/^[1-9][0-9]*$/,Gh=/^(?:0|[1-9][0-9]*)$/,fc=e=>{if(e===null||!Yh.test(e))return null;let t=Number(e);return mt(t)?t:null},qr=e=>{if(e===null||!Gh.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null};var na=e=>{let t=qr(e.headers.get("Retry-After"));return t===null?null:t*1e3};var Rc=ir(void 0,1,"DetailLoader"),Sc=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},Xs=Sc("__DAILY_REPORT_CACHE_TTL__",3e5),Jh=Sc("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),ee={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=>{ee.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=Dr(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()){Rc.warn(`Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+Jh))}},delete(e,t){this.reports.delete(e);let r=Dr(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+Xs;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,d=this.merge(s,l);return this.set(d,o,!1),d});return t&&this.lists.set(t,{data:a,expiresAt:o}),a}},gc=(e,t,r=!0)=>ee.set(e,t,r),ot=(e,t)=>ee.getReport(e,t?.ignoreExpiry),at=(e,t)=>ee.update(e,t),Qs=(e,t)=>ee.delete(e,t),Hn=()=>{ee.clear(),oa.clear(),lb()},aa=(e,t)=>{let r=ee.lastMutations.get(e);(r===void 0||r<t)&&ee.lastMutations.set(e,t)},Zs=e=>{aa(e,Date.now())},Ec=e=>{let t=Symbol("mutation-lock"),r=ee.lockHolders.get(e);return r===void 0?ee.lockHolders.set(e,new Set([t])):r.add(t),aa(e,Date.now()),()=>{let n=ee.lockHolders.get(e);n===void 0||!n.delete(t)||(n.size===0&&ee.lockHolders.delete(e),aa(e,Date.now()))}},Dc=(e,t)=>{let r=performance.now()+t,n=ee.lockHolds.get(e);(n===void 0||n<r)&&ee.lockHolds.set(e,r),aa(e,Date.now()+t)},Tc=e=>ee.recentDeletes.set(e,Date.now()),xc=(e,t)=>{let r=n=>{n===e&&t()};return ee.listeners.add(r),()=>{ee.listeners.delete(r)}},xr=(e,t)=>{ee.prune(),ee.set(t,Date.now()+Xs)},Ac=e=>{ee.prune();let t=ee.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}));ee.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+Xs)},eb=Fn.object({report:At}),tb=Fn.object({reports:Fn.array(At)}),Cc=(e,t)=>new Error(`[daily-report] ${e} answered HTTP ${t}`),Js=async(e,t,r)=>{if(!e.ok)throw Cc(r,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 (${jo(n.error)})`);return n.data},rb=async(e,t)=>{let r=ee.getReport(t);if(r)return r;let n=ee.pendingReports.get(t);if(n)return n;let o=Date.now(),a=new URLSearchParams({[Ce.reportHubId]:String(t)}),s=fetch(`${e}/${ke.report}?${a}`,{cache:"no-cache"}).then(i=>Js(i,eb,ke.report)).then(({report:i})=>ee.cacheMany([i],null,o)[0]).finally(()=>ee.pendingReports.delete(t));return ee.pendingReports.set(t,s),s},oa=new Map,nb=1e4,ob=(e,t)=>{let r=oa.get(t),n=Date.now();if(r&&n-r.at<nb)return r.inFlight;let o=ei(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return oa.set(t,a),o.finally(()=>{oa.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},ei=async(e,t,r={})=>{let n=r.forceRefresh?null:ee.getList(t);if(n)return n;let o=ee.pendingLists.get(t);if(o)return o;let a=Date.now(),s=new URLSearchParams({[Ce.businessDate]:t}),i=fetch(`${e}/${ke.businessDate}?${s}`,{cache:"no-cache"}).then(l=>Js(l,tb,ke.businessDate)).then(({reports:l})=>ee.cacheMany(l,t,a)).finally(()=>ee.pendingLists.delete(t));return ee.pendingLists.set(t,i),i},ab=Fn.object({reports:Fn.array(At)}),sb=5e3,Ys=new Map,ib=e=>{let t=new Map,r=new Map,n=new Map,o=new Set,a=(u,p)=>{let f=[];for(let y of u)r.get(y)===p&&(r.delete(y),f.push(y));return f},s=(u,p)=>{let f=t.get(u);if(f!==void 0){t.delete(u),o.delete(u);for(let y of f)p(y)}},i=(u,p)=>{let y=setTimeout(()=>{for(let h of u)n.delete(h),t.has(h)&&(o.add(h),c.enqueue(h))},p);for(let h of u)n.set(h,y)},l=(u,p,f)=>{let y=[];for(let h of u)p!==null&&p<=sb&&t.has(h)&&!o.has(h)?y.push(h):s(h,b=>b.reject(f));p!==null&&y.length>0&&i(y,p)},d=async(u,p)=>{for(let h of u)r.set(h,p);let f=Date.now(),y=new URLSearchParams({[Ce.reportIds]:u.join(",")});try{let h=await fetch(`${e}/${ke.reports}?${y}`,{cache:"no-cache",signal:p});if(h.status===429){l(a(u,p),na(h),Cc(ke.reports,h.status));return}let{reports:b}=await Js(h,ab,ke.reports);if(p.aborted)return;let m=new Map(ee.cacheMany(b,null,f).map(g=>[g.reportHubId,g]));for(let g of a(u,p))s(g,R=>R.resolve(m.get(g)??null))}catch(h){for(let b of a(u,p))s(b,m=>m.reject(h))}},c=Go({hasListener:u=>t.has(u),batchSize:Bt.maxDetailIds,inFlightBound:On,send:d});return{readers:t,pending:r,holds:n,retried:o,scheduler:c}},lb=()=>{for(let{readers:e,pending:t,holds:r,retried:n,scheduler:o}of Ys.values()){o.dispose(),t.clear();for(let a of r.values())clearTimeout(a);r.clear(),n.clear();for(let a of e.keys())o.enqueue(a)}},db=(e,t,r)=>new Promise((n,o)=>{let a=Ys.get(e);a===void 0&&(a=ib(e),Ys.set(e,a));let{readers:s,pending:i,holds:l,retried:d,scheduler:c}=a,u={resolve:n,reject:o},p=s.get(t);p===void 0?s.set(t,new Set([u])):p.add(u),c.isWanted(t)||i.has(t)||l.has(t)||c.enqueue(t);let f=()=>{let y=s.get(t);if(!(y===void 0||!y.delete(u))&&(o(r.reason),!(y.size>0))){s.delete(t),d.delete(t);for(let h of c.release(t))i.delete(h)}};r.addEventListener("abort",f,{once:!0})}),sa=qh("date"),Gs=(e,t)=>{let r=ee.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!ee.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=ee.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:!ee.isValid(n.expiresAt)}},hc=(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}=Gs(e,Dr(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},Xr=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,Ar=(e,t)=>{let{apiBasePath:r}=q(),n=bc(sa),[o,a]=Zh(()=>hc(e,t)),s=Qh(0),i=o;return o.id!==e&&(i=hc(e,t),a(i)),yc(()=>{let l=Dr(t),d=c=>{c===e&&a(Xr(e,{report:Gs(e,l).report}))};return ee.listeners.add(d),()=>{ee.listeners.delete(d)}},[e,t]),yc(()=>{let l=Dr(t);s.current+=1;let d=s.current,c=new AbortController,u=()=>{c.abort(),s.current+=1};if(e<=0)return u;let{report:p,isStale:f}=Gs(e,l);if(p&&!f)return a(Xr(e,{report:p,error:null,isLoading:!1,isRefetching:!1})),u;a(Xr(e,{report:p,isLoading:!p,isRefetching:!0}));let y=async()=>{try{let b=null;if(n==="ids")b=await db(r,e,c.signal);else if(l){let m=ee.getList(l)!==null;if(b=(await ei(r,l)).find(R=>R.reportHubId===e)??null,!b&&m){let R=await ob(r,l);R&&(b=R.find(E=>E.reportHubId===e)??null)}}else b=await rb(r,e);s.current===d&&a(Xr(e,{report:b,error:null}))}catch(b){s.current===d&&a(Xr(e,{error:b instanceof Error?b:new Error("Load failed")}))}finally{s.current===d&&a(Xr(e,{isLoading:!1,isRefetching:!1}))}};if(p===null)return y(),u;let h=setTimeout(y,Gr);return()=>{clearTimeout(h),u()}},[e,t,r,n]),{report:i.report,error:i.error,isLoading:i.isLoading,isRefetching:i.isRefetching}},ti=()=>{let{apiBasePath:e}=q(),t=bc(sa);return Xh(r=>{if(t==="ids")return;let n=Dr(r);n&&!ee.getList(n)&&ei(e,n).catch(o=>Rc.warn("Prefetch error",n,o))},[e,t])};import{VIRTUAL_SCROLL_LABEL_KEYS as cb}from"@aiquants/virtualscroll";import{useRef as ub}from"react";var ia=()=>{let{locale:e,labels:t}=q(),r=oc(t),n=ub(null),o=n.current;return o!==null&&cb.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};import{useLayoutEffect as Eb,useState as Db}from"react";import{flushSync as Tb}from"react-dom";var _c=Object.freeze({visibilityProperty:!0}),Ic=new Set(["auto","scroll"]),vc=new Set(["","true","plaintext-only"]),wc=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=Mc(n)?n.host:null}return!1},pb=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(_c))return!0;return!1},Lc=e=>e.localName==="area"?pb(e):e.checkVisibility(_c),mb=e=>{let t=e.getAttribute("contenteditable");if(t===null||!vc.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(vc.has(o))return!1;if(o==="false")return!0}return!0},fb=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&&Lc(n)&&(r=n)}return r===e},yb=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&&Ic.has(a.overflowX)||n&&Ic.has(a.overflowY)},hb=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 mb(e)}},bb=/^[\t\n\f\r ]*[+-]?\d/,Rb=e=>{let t=e.getAttribute("tabindex");return t!==null&&bb.test(t)?e.tabIndex:null},Nc=(e,t)=>{for(let r of ni(e))if(t(r)||Nc(r,t))return!0;return!1},la=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=Sb(e,t);return t.set(e,n),n},Sb=(e,t)=>{if(!Bn(e))return"none";let r=Rb(e),n=r===null&&hb(e),o=r===null&&!n&&yb(e);return!(r!==null||n||o)||e.matches(":disabled")||wc(e)||!Lc(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?fb(e)?"sequential":"programmatic":"sequential":Nc(e,a=>la(a,t)==="sequential")?"none":"sequential"},ri=(e,t)=>{for(let r of ni(e))t(r),ri(r,t)},ni=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 da=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return ri(e,l=>{la(l,a)==="sequential"&&n.push(l)}),{before:r,within:n,after:o};let s=!1,i=(l,d)=>{for(let c of ni(l)){let u=c===t;!u&&la(c,a)==="sequential"&&(d?n.push(c):s?o.push(c):r.push(c)),i(c,d||u),u&&(s=!0)}};return i(e,!1),{before:r,within:n,after:o}},Oc=e=>{let t=[],r=new Map;return ri(e,n=>{la(n,r)==="sequential"&&t.push(n)}),t},Re=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,Bn=e=>"focus"in e&&"blur"in e,gb=e=>e.nodeType===e.DOCUMENT_NODE,Mc=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,Ie=e=>{let t=e.getRootNode();if(Mc(t)){let r=t.activeElement;return r===null?Ie(t.host):r}return gb(t)?t.activeElement:null},Wt=e=>{let t=Ie(e);return t===null||t===t.ownerDocument.body||wc(t)},$e=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 ca=e=>{let[t,r]=Db(null);return Eb(()=>{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 d=o===null;o=l,d?Tb(()=>r(l)):r(l)},s=l=>{for(let d of l)a(d.borderBoxSize[0].blockSize)},i=new($e(n)).ResizeObserver(s);return i.observe(n,{box:"border-box"}),()=>i.disconnect()},[e]),t};var oi=[null],kc=new Map,ua=[void 0],Pc=new Map,Ct=e=>{if(e===null)return 0;let t=kc.get(e);if(t!==void 0)return t;let r=oi.length;if(r>65535)throw new Error(`[daily-report] The rows hold more than 65535 distinct business dates; ${e} has no code`);return oi.push(e),kc.set(e,r),r},lr=e=>{let t=oi[e];if(t===void 0)throw new Error(`[daily-report] No business date has the code ${e}`);return t},Vn=e=>{if(e===void 0)return 0;let t=Pc.get(e);if(t!==void 0)return t;let r=ua.length;if(r>255)throw new Error(`[daily-report] The rows hold more than 255 distinct source types; ${e} has no code`);return ua.push(e),Pc.set(e,r),r},Qr=e=>{if(!(Number.isInteger(e)&&e>=0&&e<ua.length))throw new Error(`[daily-report] No source type has the code ${e}`);return ua[e]},Un=class{constructor(t,r,n,o){this.length=t,this.ids=r,this.businessDateCodes=n,this.sourceTypeCodes=o}itemAt(t){return{reportHubId:this.ids[t],businessDate:lr(this.businessDateCodes[t]),sourceType:Qr(this.sourceTypeCodes[t])}}items(){let t=[];for(let r=0;r<this.length;r++)t.push(this.itemAt(r));return t}},st=new Un(0,new Float64Array(0),new Uint16Array(0),new Uint8Array(0)),xb=Float64Array.BYTES_PER_ELEMENT+Uint16Array.BYTES_PER_ELEMENT+Uint8Array.BYTES_PER_ELEMENT,Zr=e=>{let t=new ArrayBuffer(e*xb),r=e*Float64Array.BYTES_PER_ELEMENT;return{ids:new Float64Array(t,0,e),businessDateCodes:new Uint16Array(t,r,e),sourceTypeCodes:new Uint8Array(t,r+e*Uint16Array.BYTES_PER_ELEMENT,e)}},dr=(e,t,r)=>{if(r===0)return st;let n=t+r;return new Un(r,e.ids.subarray(t,n),e.businessDateCodes.subarray(t,n),e.sourceTypeCodes.subarray(t,n))},Ab=16,ht=class{constructor(t=Ab){this.count=0;this.columns=null;this.initialCapacity=t}push(t,r,n){let o=this.columns===null||this.count===this.columns.ids.length?this.grow():this.columns;o.ids[this.count]=t,o.businessDateCodes[this.count]=r,o.sourceTypeCodes[this.count]=n,this.count+=1}pushItem(t){this.push(t.reportHubId,Ct(t.businessDate),Vn(t.sourceType))}pushFrom(t,r){this.push(t.ids[r],t.businessDateCodes[r],t.sourceTypeCodes[r])}build(){let t=this.columns;return t===null?st:new Un(this.count,t.ids,t.businessDateCodes,t.sourceTypeCodes)}grow(){let t=this.columns,r=Zr(t===null?this.initialCapacity:t.ids.length*2);return t!==null&&(r.ids.set(t.ids),r.businessDateCodes.set(t.businessDateCodes),r.sourceTypeCodes.set(t.sourceTypeCodes)),this.columns=r,r}},ai=e=>{let t=new ht(Math.max(1,e.length));for(let r of e)t.pushItem(r);return t.build()};var bt=10,Wn=1<<bt,en=Wn-1,Cb=Wn,Jr=new Map,Fc=(e,t,r)=>{let n=Jr.get(e);return n!==void 0&&n.businessDate===t&&n.sourceType===r?n:void 0},pa=(e,t,r)=>{let n=lr(t),o=Qr(r),a=Fc(e,n,o);Jr.delete(e);let s=a===void 0?{reportHubId:e,businessDate:n,sourceType:o}:a;if(Jr.set(e,s),Jr.size>Cb)for(let i of Jr.keys()){Jr.delete(i);break}return s},Hc=(e,t,r)=>{let n=lr(t),o=Qr(r),a=Fc(e,n,o);return a===void 0?{reportHubId:e,businessDate:n,sourceType:o}:a};var Kt=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 Bc(this,n)}[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=Hc(o.ids[n],o.businessDateCodes[n],o.sourceTypeCodes[n]);return n+=1,{done:!1,value:a}}r+=1,n=0}return{done:!0,value:void 0}}}}},ma=new Kt([],0),Bc=(e,t)=>{let r=e.chunks[t>>>bt],n=t&en;return pa(r.ids[n],r.businessDateCodes[n],r.sourceTypeCodes[n])},Kn=(e,t)=>e.chunks[t>>>bt].ids[t&en],tn=(e,t)=>e.chunks[t>>>bt].businessDateCodes[t&en],li=(e,t)=>e.chunks[t>>>bt].sourceTypeCodes[t&en],si={businessDate:null,reportHubId:0},ii={businessDate:null,reportHubId:0},rn=(e,t,r,n)=>(si.reportHubId=e,si.businessDate=lr(t),ii.reportHubId=r,ii.businessDate=lr(n),$d(si,ii)),Uc=e=>{if(e.length===0)return ma;let t=[];return Vc(t,e,e.length),new Kt(t,e.length)},Vc=(e,t,r)=>{for(let n=0;n<r;n+=Wn)e.push(dr(t,n,Math.min(Wn,r-n)))},Cr={removals:[],replacements:[],additions:st,insertions:[]},Ib=e=>{let t=Zr(e.length);return t.ids.set(e.ids.subarray(0,e.length)),t.businessDateCodes.set(e.businessDateCodes.subarray(0,e.length)),t.sourceTypeCodes.set(e.sourceTypeCodes.subarray(0,e.length)),dr(t,0,e.length)},vb=(e,t)=>{let r=e.chunks.slice(),n=new Map;for(let{index:o,id:a,businessDateCode:s,sourceTypeCode:i}of t){let l=o>>>bt,d=n.get(l);d===void 0&&(d=Ib(e.chunks[l]),n.set(l,d),r[l]=d);let c=o&en;d.ids[c]=a,d.businessDateCodes[c]=s,d.sourceTypeCodes[c]=i}return new Kt(r,e.length)},nn=(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((T,_)=>T-_),a=[...t.replacements].sort((T,_)=>T.index-_.index);if(o.length===0&&r.length===0)return vb(e,a);let s=e.length,i=s-o.length+r.length;if(i===0)return ma;let d=Math.min(o.length===0?s:o[0],a.length===0?s:a[0].index,r.length===0?s:n[0])>>>bt,c=e.chunks.slice(0,d),u=d<<bt,p=i-u,f=p===0?st:Zr(p),y=0,h=()=>{if(y===p)throw new Error(`[daily-report] Edits of a list of ${s} rows write more than the ${i} rows they leave`);return p-y},b=(T,_,I)=>{h(),f.ids[y]=T,f.businessDateCodes[y]=_,f.sourceTypeCodes[y]=I,y+=1},m=(T,_)=>{for(let I=T;I<_;){let O=e.chunks[I>>>bt],M=I&en,F=Math.min(_-I,Wn-M,h());f.ids.set(O.ids.subarray(M,M+F),y),f.businessDateCodes.set(O.businessDateCodes.subarray(M,M+F),y),f.sourceTypeCodes.set(O.sourceTypeCodes.subarray(M,M+F),y),y+=F,I+=F}},g=d<<bt,R=0,E=0,D=0;for(;;){let T=Math.min(R<o.length?o[R]:s,E<a.length?a[E].index:s,D<r.length?n[D]:s);for(m(g,T),g=T;D<r.length&&n[D]===T;D++)b(r.ids[D],r.businessDateCodes[D],r.sourceTypeCodes[D]);if(T===s)break;if(R<o.length&&o[R]===T)R+=1,g=T+1;else if(E<a.length&&a[E].index===T){let _=a[E];b(_.id,_.businessDateCode,_.sourceTypeCode),E+=1,g=T+1}}return Vc(c,f,y),new Kt(c,u+y)},$n=(e,t)=>{let{chunks:r}=e;for(let n=0;n<r.length;n++){let{ids:o,length:a}=r[n];for(let s=0;s<a;s++)if(o[s]===t)return(n<<bt)+s}return-1},Wc=(e,t)=>{let r=$n(e,t);return r===-1?void 0:Bc(e,r)},Kc=(e,t,r)=>{let n=[];if(!(e instanceof Kt)){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++){let l=Hc(o.ids[i],o.businessDateCodes[i],o.sourceTypeCodes[i]);r(l)&&s.push(l)}a=s,t.set(o,a)}for(let s=0;s<a.length;s++)n.push(a[s])}return n};var ye=(e,t)=>Number.isInteger(t)&&t>=0&&t<e.length?e.at(t):void 0,_b=16,$c=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,Te=(e,t,r)=>{let n=r===null?void 0:ye(e,r);if(r!==null&&n!==void 0){if(n.reportHubId===t)return r;for(let o=1;o<=_b;o++){if(ye(e,r+o)?.reportHubId===t)return r+o;if(ye(e,r-o)?.reportHubId===t)return r-o}}return it(e,t)},it=(e,t)=>{if(e instanceof Kt)return $n(e,t);let r=0;for(let n of e){if(n.reportHubId===t)return r;r+=1}return-1},di=e=>{let t=ye(e,0);return t===void 0?null:t.reportHubId},zc=(e,t)=>{let r=[];for(let n of e){if(r.length>=t)break;r.push(n.reportHubId)}return r},It=(e,t)=>{let r=ye(e,t);if(r===void 0)throw new Error(`[daily-report] No report at index ${t} of a list of ${e.length}`);return r};var ya="data-daily-report-row",fa=`[role="listitem"][${ya}]`,wb='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',Lb=/^[1-9]\d*$/,jc=e=>{if(e===null||!Lb.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},Nb=`${fa}[tabindex="0"], ${fa} [tabindex="0"]`,ha=e=>e.querySelector(Nb),cr=(e,t)=>{if(t===null||!Re(e))return null;let r=e.closest(fa);return r===null||r===t||!t.contains(r)?null:r},Ir=e=>jc(e.getAttribute(ya)),on=e=>jc(e.getAttribute("aria-posinset")),Yc=e=>{let t=e.closest(fa),r=t===null?null:on(t);return r===null?null:r-1},zn=(e,t)=>{if(e===null)return null;let r=Ir(e);if(r===null)return null;let n=on(e),o=Te(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},Gc=(e,t)=>{if(!Re(e))return!1;let r=e.closest(wb);return r!==null&&r!==t&&t.contains(r)};import{createContext as qc}from"react";var $t=qc(0),jn=-1,Xc=(e,t)=>t.phase==="complete"?e:t.totalCount===null?jn:Math.max(e,t.totalCount),zt=qc(-1);import{clsx as Ob}from"clsx";import{twMerge as Mb}from"tailwind-merge";function x(...e){return Mb(Ob(e))}var ve=e=>{let t=new Map;return r=>{let n=r===void 0?"":r,o=t.get(n);if(o!==void 0)return o;let a=x(e,n);return t.set(n,a),a}};import{useCallback as Qc,useMemo as kb,useSyncExternalStore as Pb}from"react";var Zc="(prefers-reduced-motion: reduce)",Jc=e=>$e(e).matchMedia(Zc).matches?"instant":"smooth",Fb=Object.freeze({...js,startVelocityThreshold:Number.POSITIVE_INFINITY}),an=e=>e?Fb:js,Hb=()=>!1,Bb=()=>{},sn=e=>{let t=kb(()=>e===null?null:$e(e).matchMedia(Zc),[e]),r=Qc(o=>t===null?Bb:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=Qc(()=>t===null?!1:t.matches,[t]);return Pb(r,n,Hb)};import{useSyncExternalStore as Ub}from"react";import{jsx as ci}from"react/jsx-runtime";var ba=()=>{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)})}},eu=16,Vb=x(sd,"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"),Wb=(e,t)=>e==="vertical"?{top:0,left:-eu,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-eu,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},Ra=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:s}=Ub(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||s)?ci("div",{className:"pointer-events-none absolute flex items-center",style:Wb(e,t),children:ci("div",{className:Vb,children:ci("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};import{createContext as Kb,useContext as $b,useLayoutEffect as zb,useRef as jb}from"react";var ui=Kb(null),Sa=({items:e,scroller:t,readTopReportId:r})=>{let n=$b(ui),o=n===null?null:n.request,a=jb(o===null?0:o.seq);zb(()=>{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:it(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 Jm,useCallback as En,useContext as GD,useEffect as Zm,useId as qD,useLayoutEffect as XD,useMemo as Pr,useRef as bl}from"react";var ga="legacy-",Yb=e=>`${ga}${e}`,tu=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw we("mergeComments: unknownAuthorName","a non-blank string",n);let o=e.map((s,i)=>({id:Yb(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]},ru=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 Gb=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}`}),qb=e=>e.startsWith(ga)?qr(e.slice(ga.length))!==null:fc(e)!==null,ln=e=>{if(Gb.includes(e))return!0;let t=e.split(":");switch(t[0]){case"interviewer":return t.length===3&&qr(t[1])!==null&&(t[2]==="name"||t[2]==="affiliation");case"attachment":return t.length===2&&qr(t[1])!==null;case"comment":return t.length===3&&qb(t[1])&&(t[2]==="author"||t[2]==="content");default:return!1}},Xb=16777619,Qb=2166136261,Zb=(e,t,r,n)=>{let o=e;for(let a=r;a<n;a++)o^=t.charCodeAt(a),o=Math.imul(o,Xb);return o>>>0},pi=e=>Zb(Qb,e,0,e.length),Jb=String.fromCodePoint(3),eR=String.fromCodePoint(2),tR=String.fromCodePoint(1),nu=e=>pi(e.map(t=>t.map(r=>r.map(n=>`${n.tier}${n.text}`).join(Jb)).join(eR)).join(tR));import{createContext as Ju,memo as lS,useCallback as Mi,useEffect as Zu,useLayoutEffect as Fi,useMemo as Hi,useRef as ro,useState as wt}from"react";import{z as he}from"zod";var ou=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var Ze=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",commentId:"commentId"}),fi=e=>{let t=new FormData;if(t.append(Ze.intent,e.intent),e.intent==="clearCache"||(t.append(Ze.clientTempId,e.clientTempId),e.businessDate!==null&&t.append(Ze.businessDate,e.businessDate),e.operationTimestamp!==null&&t.append(Ze.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return t;switch(t.append(Ze.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&t.append(Ze.title,e.changes.title),e.changes.content!==void 0&&t.append(Ze.content,e.changes.content),t;case"publish":case"delete":return t;case"toggleStar":return t.append(Ze.isStarred,String(e.value)),t;case"toggleRead":return t.append(Ze.isRead,String(e.value)),t;case"addComment":return t.append(Ze.content,e.content),t;case"deleteComment":return t.append(Ze.commentId,String(e.commentId)),t}},rR=()=>{let e=De,t=he.string().regex(Ko),r=he.literal("OK"),n=he.object({isStarred:he.boolean(),isRead:he.boolean()}),o=he.number().int().nonnegative().nullable();return{create:he.object({status:r,intent:he.literal("create"),reportHubId:e,clientTempId:t,report:At}),update:he.object({status:r,intent:he.literal("update"),reportHubId:e,clientTempId:t}),publish:he.object({status:r,intent:he.literal("publish"),reportHubId:e,clientTempId:t,report:At.nullable()}),delete:he.object({status:r,intent:he.literal("delete"),reportHubId:e,clientTempId:t}),toggleStar:he.object({status:r,intent:he.literal("toggleStar"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),toggleRead:he.object({status:r,intent:he.literal("toggleRead"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),addComment:he.object({status:r,intent:he.literal("addComment"),reportHubId:e,clientTempId:t,newComment:zo}),deleteComment:he.object({status:r,intent:he.literal("deleteComment"),reportHubId:e,clientTempId:t,deletedCommentId:De}),clearCache:he.object({status:r,intent:he.literal("clearCache")})}},mi=null,nR=()=>(mi===null&&(mi=rR()),mi),au=(e,t)=>{let r=nR()[e].safeParse(t);return r.success?{result:r.data}:{mismatch:jo(r.error)}};import{systemSseRuntime as Na}from"@aiquants/sse";import{createBrowserEventSource as NR}from"@aiquants/sse/client";import{useReopeningEventSource as OR}from"@aiquants/sse/react";import{useEffect as Di,useRef as Oa,useState as MR}from"react";import{startTransition as gR,useLayoutEffect as ER,useState as DR,useSyncExternalStore as Qn}from"react";var oR=/^[0-9a-f]{1,16}$/,su=e=>mt(e.reportHubId)&&(e.businessDate===null||jr(e.businessDate)),iu=e=>typeof e=="string"&&oR.test(e),lu=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 Ea=e=>{let t=e>>>0,r=(e-t)/4294967296|0;return Math.imul(t^Math.imul(r,1540483477),2654435761)>>>0},jt=class{constructor(t){this.count=0;this.idAt=t,this.bits=4,this.slots=new Int32Array(16).fill(-1)}get size(){return this.count}get capacity(){return this.slots.length}find(t){let r=this.slotOf(t);return r===-1?-1:this.slots[r]}set(t,r){let n=this.slotOf(t);if(n!==-1){this.slots[n]=r;return}(this.count+1)*2>this.slots.length&&this.grow();let o=this.slots.length-1,a=Ea(t)>>>32-this.bits;for(;this.slots[a]!==-1;)a=a+1&o;this.slots[a]=r,this.count+=1}delete(t){let r=this.slotOf(t);if(r===-1)return!1;let n=this.slots.length-1,o=32-this.bits;this.slots[r]=-1,this.count-=1;for(let a=r+1&n;this.slots[a]!==-1;a=a+1&n){let s=Ea(this.idAt(this.slots[a]))>>>o;(a-s&n)>=(a-r&n)&&(this.slots[r]=this.slots[a],this.slots[a]=-1,r=a)}return!0}clear(){this.slots.fill(-1),this.count=0}slotOf(t){let r=this.slots.length-1;for(let n=Ea(t)>>>32-this.bits;this.slots[n]!==-1;n=n+1&r)if(this.idAt(this.slots[n])===t)return n;return-1}grow(){let t=this.slots;this.bits+=1,this.slots=new Int32Array(1<<this.bits).fill(-1);let r=this.slots.length-1,n=32-this.bits;for(let o=0;o<t.length;o++){let a=t[o];if(a===-1)continue;let s=Ea(this.idAt(a))>>>n;for(;this.slots[s]!==-1;)s=s+1&r;this.slots[s]=a}}};var Da=1,Ta=2,vr=3,du=16,aR=8192,sR=Float64Array.BYTES_PER_ELEMENT+2*Uint16Array.BYTES_PER_ELEMENT+3*Uint8Array.BYTES_PER_ELEMENT,yi=e=>{let t=new ArrayBuffer(e*sR),r=e*Float64Array.BYTES_PER_ELEMENT,n=r+2*e*Uint16Array.BYTES_PER_ELEMENT;return{ids:new Float64Array(t,0,e),firstDates:new Uint16Array(t,r,e),lastDates:new Uint16Array(t,r+e*Uint16Array.BYTES_PER_ELEMENT,e),states:new Uint8Array(t,n,e),firstSources:new Uint8Array(t,n+e,e),lastSources:new Uint8Array(t,n+2*e,e)}},cu=Object.freeze({previous:st,next:st}),hi=()=>{let e=0,t=yi(du),r=d=>t.ids[d],n=new jt(r),o=()=>{let d=yi(t.ids.length*2);d.ids.set(t.ids),d.firstDates.set(t.firstDates),d.lastDates.set(t.lastDates),d.states.set(t.states),d.firstSources.set(t.firstSources),d.lastSources.set(t.lastSources),t=d},a=(d,c)=>{e===t.ids.length&&o();let u=e;return e+=1,t.ids[u]=d,t.states[u]=c,n.set(d,u),u},s=(d,c,u)=>{let p=n.find(d);if(p===-1){let f=a(d,Da);t.lastDates[f]=c,t.lastSources[f]=u;return}if(t.states[p]!==vr)throw new Error(`[daily-report] The ids stream list took report ${d}, which it already holds`);t.states[p]=Ta,t.lastDates[p]=c,t.lastSources[p]=u},i=(d,c,u,p,f)=>{let y=n.find(d);if(y===-1)y=a(d,Ta),t.firstDates[y]=c,t.firstSources[y]=u;else if(t.states[y]===vr)throw new Error(`[daily-report] The ids stream list changed report ${d}, which it no longer holds`);t.lastDates[y]=p,t.lastSources[y]=f},l=(d,c,u)=>{let p=n.find(d);if(p===-1){let f=a(d,vr);t.firstDates[f]=c,t.firstSources[f]=u;return}if(t.states[p]===Da){n.delete(d),t.states[p]=0;return}if(t.states[p]===vr)throw new Error(`[daily-report] The ids stream list dropped report ${d}, which it no longer holds`);t.states[p]=vr};return{add:s,change:i,remove:l,fold:d=>{let{removed:c,appended:u}=d,{previous:p,next:f}=d.replaced;for(let y=0;y<c.length;y++)l(c.ids[y],c.businessDateCodes[y],c.sourceTypeCodes[y]);for(let y=0;y<f.length;y++)i(f.ids[y],p.businessDateCodes[y],p.sourceTypeCodes[y],f.businessDateCodes[y],f.sourceTypeCodes[y]);for(let y=0;y<u.length;y++)s(u.ids[y],u.businessDateCodes[y],u.sourceTypeCodes[y])},isEmpty:()=>n.size===0,build:(d,c)=>{let u=0,p=0,f=0;for(let E=0;E<e;E++){let D=t.states[E];D===Da?u+=1:D===Ta?p+=1:D===vr&&(f+=1)}let y=u+2*p+f;if(y===0)return{base:d,revision:c,appended:st,replaced:cu,removed:st};let h=Zr(y),b=0,m=u,g=m+p,R=g+p;for(let E=0;E<e;E++){let D=t.states[E];D===Da?(h.ids[b]=t.ids[E],h.businessDateCodes[b]=t.lastDates[E],h.sourceTypeCodes[b]=t.lastSources[E],b+=1):D===Ta?(h.ids[m]=t.ids[E],h.businessDateCodes[m]=t.firstDates[E],h.sourceTypeCodes[m]=t.firstSources[E],m+=1,h.ids[g]=t.ids[E],h.businessDateCodes[g]=t.lastDates[E],h.sourceTypeCodes[g]=t.lastSources[E],g+=1):D===vr&&(h.ids[R]=t.ids[E],h.businessDateCodes[R]=t.firstDates[E],h.sourceTypeCodes[R]=t.firstSources[E],R+=1)}return{base:d,revision:c,appended:dr(h,0,u),replaced:p===0?cu:{previous:dr(h,u,p),next:dr(h,u+p,p)},removed:dr(h,u+2*p,f)}},reset:()=>{if(e=0,t.ids.length<=aR){n.clear();return}t=yi(du),n=new jt(r)}}},uu=(e,t,r)=>{let n=hi();for(let o of e)n.fold(o);return n.build(t,r)},pu=(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 mu=()=>{let e=new TextDecoder,t=[],r=n=>{let o=[],a=0;for(let s=n.indexOf(`
|
|
5
|
-
`);s!==-1;s=n.indexOf(`
|
|
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 Yn=1,iR=2,lR=1024,dn=1024,xa=class{constructor(){this.used=0;this.holes=0;this.ids=new Float64Array(dn);this.dates=new Uint16Array(dn);this.sources=new Uint8Array(dn);this.flags=new Uint8Array(dn);this.positions=new jt(t=>this.ids[t])}get size(){return this.positions.size}find(t){return this.positions.find(t)}businessDateCodeAt(t){return this.dates[t]}sourceTypeCodeAt(t){return this.sources[t]}itemAt(t){return{reportHubId:this.ids[t],businessDate:lr(this.dates[t]),sourceType:Qr(this.sources[t])}}add(t,r,n){this.used===this.ids.length&&this.grow();let o=this.used;this.ids[o]=t,this.dates[o]=r,this.sources[o]=n,this.flags[o]=Yn,this.used+=1,this.positions.set(t,o)}replace(t,r,n){this.dates[t]=r,this.sources[t]=n}delete(t){this.positions.delete(this.ids[t]),this.flags[t]=0,this.holes+=1,this.holes>=lR&&this.holes>this.positions.size&&this.compact()}markSeen(t){let r=this.positions.find(t);r!==-1&&(this.flags[r]|=iR)}clearSeen(){for(let t=0;t<this.used;t++)this.flags[t]&=Yn}unseenIds(){let t=[];for(let r=0;r<this.used;r++)this.flags[r]===Yn&&t.push(this.ids[r]);return t}rows(){let t=new ht(Math.max(1,this.positions.size));for(let r=0;r<this.used;r++)(this.flags[r]&Yn)!==0&&t.push(this.ids[r],this.dates[r],this.sources[r]);return t.build()}grow(){this.resize(this.ids.length*2)}resize(t){let r=new Float64Array(t);r.set(this.ids.subarray(0,this.used));let n=new Uint16Array(t);n.set(this.dates.subarray(0,this.used));let o=new Uint8Array(t);o.set(this.sources.subarray(0,this.used));let a=new Uint8Array(t);a.set(this.flags.subarray(0,this.used)),this.ids=r,this.dates=n,this.sources=o,this.flags=a}compact(){let t=0;for(let r=0;r<this.used;r++)(this.flags[r]&Yn)!==0&&(this.ids[t]=this.ids[r],this.dates[t]=this.dates[r],this.sources[t]=this.sources[r],this.flags[t]=this.flags[r],t+=1);this.flags.fill(0,t,this.used),this.used=t,this.holes=0,this.positions.clear();for(let r=0;r<t;r++)this.positions.set(this.ids[r],r);this.ids.length>Math.max(dn,t*4)&&this.resize(Math.max(dn,t*2))}};var dR=e=>({debug:e,info:e,warn:e,error:e}),cR=50,uR=32,fu=0,pR=()=>(fu+=1,fu),mR=1e3,fR=3e4,yR=6,hR=3e4,yu=Symbol("read-stall"),bR=Object.freeze({reading:()=>{},stalled:()=>!1,stop:()=>{}}),RR="/daily_report/api",SR=e=>typeof e=="object"&&e!==null&&e.name==="AbortError",Gn=class{constructor(t={}){this.rows=new xa;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.externalRemovalTombstones=new Set;this.pendingForceRefresh=!1;this.wakeRetryWait=null;this.handleOnline=()=>this.wakeRetryWait?.();this.publishCoalesceTimer=null;this.lastItemsPublishAt=Number.NEGATIVE_INFINITY;this.pendingItemsChange=hi();this.apiBasePath=t.apiBasePath??RR,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=ir(t.warn===void 0?void 0:dR(t.warn),1,"IdsStream").warn,this.readStallTimeoutMs=t.readStallTimeoutMs??hR,this.publishCoalesceMs=t.publishCoalesceMs??cR,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)return;this.externalRemovalTombstones.delete(t.reportHubId);let r=this.rows.find(t.reportHubId),n=r===-1?void 0:this.rows.itemAt(r),o=t.sourceType??n?.sourceType,a=this.putItem(t.reportHubId,Ct(t.businessDate),Vn(o));this.rows.markSeen(t.reportHubId),a&&this.schedulePublishItems()}applyExternalRemoval(t){this.disposed||(this.externalRemovalTombstones.add(t),this.deleteItem(t)&&this.schedulePublishItems())}has(t){return this.rows.find(t)!==-1}readRows(){let t=this.rows.rows();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;for(let l=0;l<r.length;l++)a.add(r.ids[l]);let s=new Map;for(let l=0;l<n.previous.length;l++)s.set(n.previous.ids[l],l);let i=new ht(Math.max(1,t.length+o.length));for(let l=0;l<t.length;l++){let d=t.ids[l];if(a.has(d))continue;let c=s.get(d);c===void 0?i.pushFrom(t,l):i.pushFrom(n.previous,c)}for(let l=0;l<o.length;l++)i.pushFrom(o,l);return i.build()}readItems(){return this.readRows().items()}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.rows.clearSeen(),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>=yR){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(mR*2**(this.consecutiveFailures-1),fR))}}pruneUnseenItems(){let t=this.rows.unseenIds();this.rows.clearSeen();for(let r of t)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=this.readStallTimeoutMs<=0?await n:await this.awaitResponseHeaders(n);if(o===yu)return r.abort(),{kind:"retryable",error:new Error("Stream stalled: no response headers within timeout")};if(o.status===401||o.status===403)return{kind:"auth-required"};if(!(o.ok&&o.body))return{kind:"retryable",error:new Error(`ids stream HTTP ${o.status}`)};let a=o.body.getReader(),s=mu(),i=this.watchReadSilence(a),l=!1,d=!1;try{for(;;){i.reading();let c=await a.read();if(i.stalled())return r.abort(),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let u=c.done?s.end():s.push(c.value),p=!1,f=!1;for(let y of u){if(y.trim()==="")continue;let h;try{h=JSON.parse(y)}catch{f=!0;break}let b=Fs(h);if(b==="unknown"){this.warn("skipped line of unknown kind");continue}if(b==="error"){l=!0;continue}if(!Vd(h)){f=!0;break}let m=h;p=this.absorbChunkLine(m)||p,m.total!==void 0&&Number.isSafeInteger(m.total)&&m.total>=0&&m.total!==this.state.totalCount&&this.publish({totalCount:m.total}),m.nextCursor!==null&&su(m.nextCursor)&&(this.lastCursor=m.nextCursor),m.isLast&&(d=!0)}if(p&&(this.consecutiveFailures=0,this.schedulePublishItems()),f)return this.warn("rejected a malformed line"),r.abort(),{kind:"retryable",error:new Error("ids stream line rejected")};if(c.done)break}}finally{i.stop()}return l?{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 SR(n)?{kind:"aborted"}:{kind:"retryable",error:n instanceof Error?n:new Error(String(n))}}}awaitResponseHeaders(t){return new Promise((r,n)=>{let o=this.setTimeoutFn(()=>r(yu),this.readStallTimeoutMs*3);t.then(a=>{this.clearTimeoutFn(o),r(a)},a=>{this.clearTimeoutFn(o),n(a)})})}watchReadSilence(t){if(this.readStallTimeoutMs<=0)return bR;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.rows.clearSeen(),this.externalRemovalTombstones.clear()),iu(t.snapshot)&&(this.lastSnapshot=t.snapshot),t.streamAnchor!==void 0&&this.absorbStreamAnchor(t.streamAnchor);let r=t.provisional===!0,n=!1,o=null,a=Ct(null),s,i=Vn(void 0);return Wd(t,(d,c,u)=>{this.externalRemovalTombstones.has(d)||(c!==o&&(o=c,a=Ct(c)),u!==s&&(s=u,i=Vn(u)),this.putItem(d,a,i)&&(n=!0),r||this.rows.markSeen(d))}),n}putItem(t,r,n){let o=this.rows.find(t);if(o===-1)return this.rows.add(t,r,n),this.pendingItemsChange.add(t,r,n),!0;let a=this.rows.businessDateCodeAt(o),s=this.rows.sourceTypeCodeAt(o);return a===r&&s===n?!1:(this.rows.replace(o,r,n),this.pendingItemsChange.change(t,a,s,r,n),!0)}deleteItem(t){let r=this.rows.find(t);return r===-1?!1:(this.pendingItemsChange.remove(t,this.rows.businessDateCodeAt(r),this.rows.sourceTypeCodeAt(r)),this.rows.delete(r),!0)}absorbStreamAnchor(t){if(t!==null&&!(typeof t=="string"&&$o(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=pR(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange.reset(),{loadedCount:this.rows.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-uR),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=lu({cursor:this.lastCursor,snapshot:this.lastCursor===null?null:this.lastSnapshot,forceRefresh:t}).toString();return`${this.apiBasePath}/${Wo}${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 TR=6e4,ae=null,hu=!1,qn=new Set,Aa={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},bi=()=>{for(let e of qn)e()},Ri=()=>{ae&&(ae.unsubscribe(),ae.client.dispose(),ae=null,bi())},Xn=e=>{if(typeof window>"u")return;let t=e.apiBasePath??Pn.apiBasePath;if(ae&&(ae.userKey!==e.userKey||ae.apiBasePath!==t)&&(ae.userKey!==e.userKey&&Hn(),Ri()),!ae){let r=new Gn({apiBasePath:t});ae={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(bi)},xR(),r.start(),bi();return}Ia(ae)},Ia=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>TR&&e.client.refresh()},xR=()=>{if(hu||typeof document>"u"||typeof window>"u")return;hu=!0;let e=()=>{ae&&Ia(ae)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},Si=e=>{if(!(typeof window>"u")){if(!ae){Xn(e);return}if(ae.userKey!==e.userKey){Hn(),Ri(),Xn(e);return}Ia(ae)}},gi=()=>{typeof window>"u"||!ae||Ia(ae)},Zn=e=>{ae?.client.applyExternalUpsert(e)},va=e=>{ae?.client.applyExternalRemoval(e)},Ru=e=>ae===null?!1:ae.client.has(e),AR=()=>ae===null?st:ae.client.readRows(),Ei=()=>ae===null?0:ae.client.getState().itemsRevision,_a=()=>{ae?.client.retry()},wa=()=>{ae?.client.resync()},Jn=(e={})=>{ae?.client.refresh(e)},Su=()=>ae?.userKey,eo=e=>(qn.add(e),()=>qn.delete(e)),Ca=()=>ae?.client.getState()??Aa,CR=()=>Aa,IR=()=>Qn(eo,Ca,CR),La=(e,t)=>{let r=Aa,n=e(Aa);return()=>{let o=Ca();if(o===r)return n;let a=e(o);return r=o,t(n,a)||(n=a),n}},gu=La(({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),vR=gu(),cn=()=>Qn(eo,gu,()=>vR),Eu=La(({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),_R=Eu(),Du=()=>Qn(eo,Eu,()=>_R),Tu=La(({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),wR=Tu(),xu=()=>Qn(eo,Tu,()=>wR),Au=La(({phase:e,totalCount:t})=>({phase:e,totalCount:t}),(e,t)=>e.phase===t.phase&&e.totalCount===t.totalCount),LR=Au(),Cu=()=>Qn(eo,Au,()=>LR),Iu=e=>e.phase==="complete"&&!e.isRevalidating,bu=e=>`${e.itemsRevision}:${Iu(e)}`,vu=()=>{let[,e]=DR(0),t=Ca(),r=bu(t);return ER(()=>{let n=r,o=()=>{let a=bu(Ca());a!==n&&(n=a,gR(()=>e(s=>s+1)))};return qn.add(o),o(),()=>{qn.delete(o)}},[]),{itemsRevision:t.itemsRevision,itemsChanges:t.itemsChanges,readRows:AR,settled:Iu(t)}};import.meta.hot?.dispose(Ri);var _r=ir(void 0,1,"SseConnection"),kR=Object.freeze({kind:"resyncing"}),_u={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},PR=1,wu=Hs*3,FR=wu+Hs,Ti=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=q(),{streamAnchor:o,phase:a,isRevalidating:s,error:i}=cn(),[l,d]=MR({generation:0,minAnchorRevision:1,anchored:!1}),c=l.generation>0&&!l.anchored,u=c&&a==="complete"&&!s?i:null,p=Oa(0),f=Oa(null),y=Oa(n);y.current=n;let h=Oa(0);h.current=o===null?0:o.revision,Di(()=>{l.anchored||o===null||o.revision<l.minAnchorRevision||(f.current=o.lastEventId,p.current=0,d({...l,anchored:!0}))},[l,o]),Di(()=>{if(!e||u===null)return;let{initialDelayMs:m,maxDelayMs:g,multiplier:R}=_u,E=Na.random()*Math.min(g,m*R**p.current);_r.warn(`SSE resync: the ids rescan gave up (${u.message}); rescanning in ${Math.round(E)} ms`);let D=Na.setTimer(()=>{p.current+=1,wa()},E);return()=>Na.clearTimer(D)},[e,u]);let{status:b}=OR(e&&l.anchored?`${r}#${l.generation}`:null,{resolveUrl:({lastEventId:m})=>m===null?r:`${r}?${qd}=${encodeURIComponent(m)}`,initialLastEventId:f.current,withCredentials:!1,createEventSource:NR,runtime:Na,backoff:_u,healthyOpenMs:FR,nativeRetryLimit:PR,giveUpAfterFailures:"never",terminalEvents:Gd,heartbeat:{staleAfterMs:wu,onHeartbeat:null},events:{message:m=>{m.lastEventId!==""&&($o(m.lastEventId)?f.current=m.lastEventId:_r.warn("SSE event carried a malformed id; keeping the previous cursor:",m.lastEventId));try{let g=JSON.parse(m.data),R=Xd.safeParse(g);if(!R.success){_r.error("SSE Validation Error:",R.error.flatten(),"raw message:",g);return}if(R.data.type==="connected"){_r.info("SSE Subscribe Ready");return}t(R.data)}catch(g){_r.error("SSE Parse Error",g)}}}});return Di(()=>{if(b.kind==="faulted"){_r.error("SSE connection faulted:",b.error);return}if(b.kind==="terminated")switch(b.terminalEvent){case"auth-required":y.current();return;case"forbidden":_r.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let m=h.current+1;d(g=>({generation:g.generation+1,minAnchorRevision:m,anchored:!1})),wa();return}}},[b]),e&&c?kR:b};import{createContext as HR,useCallback as BR,useSyncExternalStore as Lu}from"react";var Nu=()=>{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)}}},xi=HR(null),ur=()=>yt(xi,"useDailyReportDraftStore","DailyReportActionProvider"),Ou=(e,t)=>BR(r=>e.subscribe(t,r),[e,t]),Ma=e=>{let t=ur(),r=()=>t.modeOf(e);return Lu(Ou(t,e),r,r)},Mu=e=>{let t=ur(),r=()=>t.inputOf(e),n=Lu(Ou(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 jR}from"@aiquants/swipe-overlay";import{createContext as YR,Fragment as GR,useCallback as Pa,useId as Ci,useLayoutEffect as Ku,useMemo as qR,useRef as Lr,useState as Uu}from"react";import{createPortal as Vu}from"react-dom";var UR=Object.freeze({visibilityProperty:!0,opacityProperty:!0}),ku="data-daily-report-view-tabs",Pu={[ku]:""},Fu="data-daily-report-status-panel",Hu={[Fu]:""},VR=e=>{for(let t of e.getClientRects())if(t.width>0&&t.height>0)return!0;return!1},WR=e=>e.isConnected&&Bn(e)&&VR(e)&&e.checkVisibility(UR),vt=e=>{for(let t of e)if(!(t===null||!WR(t))&&(t.focus({preventScroll:!0}),Ie(t)===t))return t;return null},Ai=e=>e.querySelector(`[${ku}] [role="tab"][aria-selected="true"]`),ka=e=>[ha(e),Ai(e),e.querySelector(`[${Fu}]`)];var wr=e=>e.isComposing||e.keyCode===229,un=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 KR={kind:"hold"},$R=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),zR=(e,t)=>{let r=e.getAttribute("role");return r!==null&&$R.has(r)&&e!==t&&e.contains(t)},Yt=e=>e.key==="Escape"&&!e.defaultPrevented&&!wr(e),Bu=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||wr(e))return null;let r=e.target;if(!(Re(r)&&t.contains(r)))return null;let n=Oc(t);if(n.length===0)return KR;let{before:o,within:a,after:s}=da(t,r);return e.shiftKey?o.some(i=>!zR(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 _t,jsxs as zu}from"react/jsx-runtime";var XR=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",nr),QR="flex shrink-0 justify-center p-[8px]",ZR=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",Jl),JR="data-daily-report-notice-alert",eS={[JR]:""},$u=YR(null),Fa=()=>yt($u,"useDailyReportErrorSurface","DailyReportErrorProvider"),Wu=({notice:e})=>_t("div",{role:"alert",...eS,className:"sr-only",children:e===null?null:_t("span",{children:e.info.message},e.occurrence)}),tS=({notice:e,closeLabel:t,repeatedLabel:r,onDismiss:n})=>{let o=Lr(null),a=Lr(null),s=Lr(null),i=jR(),l=Ci(),d=Ci(),c=Ci(),u=e.repeat>1?`${d} ${c}`:d,p=Pa(()=>{let h=o.current;if(h?.contains(h.ownerDocument.activeElement)){let[b,...m]=ka(h.ownerDocument);vt([a.current,b,h.closest("dialog"),...m])}n()},[n]),f=h=>{if(s.current!==null)return;let b=h.relatedTarget;a.current=Re(b)&&!h.currentTarget.contains(b)?b:null,s.current=i({id:l,onEscape:m=>Yt(m)?(p(),!0):!1})},y=h=>{Re(h.relatedTarget)&&h.currentTarget.contains(h.relatedTarget)||(s.current?.(),s.current=null,a.current=null)};return Ku(()=>()=>{s.current?.(),s.current=null},[]),zu("div",{ref:o,role:"group","aria-labelledby":u,"data-testid":"daily-report-error-banner",className:XR,onFocus:f,onBlur:y,children:[_t("span",{id:d,className:"min-w-0 font-medium",children:_t(GR,{children:e.info.message},e.occurrence)}),e.repeat>1&&_t("span",{id:c,className:"shrink-0 font-normal tabular-nums",children:r(e.repeat)}),_t("button",{type:"button","aria-label":t,"aria-describedby":u,onClick:p,className:ZR,children:"\u2715"})]})},Ii=({children:e})=>{let{onError:t,labels:r}=q(),[n,o]=Uu(null),[a,s]=Uu([]),i=Lr([]),l=Lr(0),d=Lr(0),c=Lr(t);Ku(()=>{c.current=t});let u=Pa(g=>{let R=c.current;if(R){R(g);return}d.current+=1;let E=d.current,D=i.current,T=D.length===0?null:D[D.length-1].registration;o(_=>({info:g,occurrence:E,repeat:_!==null&&_.info.message===g.message?_.repeat+1:1,announcedIn:T}))},[]),p=Pa(g=>{l.current+=1;let R={element:g,registration:l.current};return i.current=[...i.current,R],s(i.current),()=>{i.current=i.current.filter(E=>E!==R),s(i.current)}},[]),f=Pa(()=>o(null),[]),y=qR(()=>({notifyError:u,registerNoticeHost:p}),[u,p]),h=a.at(-1),b=n===null?null:_t(tS,{notice:n,closeLabel:r.close,repeatedLabel:r.noticeRepeated,onDismiss:f}),m=g=>n!==null&&n.announcedIn===g?n:null;return zu($u.Provider,{value:y,children:[e,_t(Wu,{notice:m(null)}),a.map(g=>Vu(_t(Wu,{notice:m(g.registration)}),g.element,String(g.registration))),b!==null&&h!==void 0&&Vu(b,h.element),b!==null&&h===void 0&&_t("div",{"data-daily-report-notice-slot":"",className:QR,children:b})]})};import{useState as rS}from"react";var nS={items:ma,held:new Map,hidden:new Map,revision:null,settled:!1},vi=(e,t,r)=>{let n=0,o=e.length;for(;n<o;){let a=n+o>>1;rn(Kn(e,a),tn(e,a),t,r)<0?n=a+1:o=a}return n<e.length&&Kn(e,n)===t?n:-1},Ha=(e,t)=>vi(e,t.reportHubId,Ct(t.businessDate)),_i=(e,t,r,n)=>{let o=n,a=e.length;for(;o<a;){let s=o+a>>1;rn(Kn(e,s),tn(e,s),t,r)<=0?o=s+1:a=s}return o},oS=(e,t)=>{if(t.length===0)return[];let r=e.length-1;if(e.length===0||rn(Kn(e,r),tn(e,r),t.ids[0],t.businessDateCodes[0])<0)return new Array(t.length).fill(e.length);let n=[],o=0;for(let a=0;a<t.length;a++)o=_i(e,t.ids[a],t.businessDateCodes[a],o),n.push(o);return n},aS=e=>{for(let t=1;t<e.length;t++)if(rn(e.ids[t-1],e.businessDateCodes[t-1],e.ids[t],e.businessDateCodes[t])>=0)return!1;return!0},Yu=e=>{if(aS(e))return e;let t=Array.from({length:e.length},(n,o)=>o);t.sort((n,o)=>rn(e.ids[n],e.businessDateCodes[n],e.ids[o],e.businessDateCodes[o]));let r=new ht(Math.max(1,e.length));for(let n of t)r.pushFrom(e,n);return r.build()},Gu=(e,t,r,n)=>{let o=t.readRows(),a=new jt(d=>o.ids[d]);for(let d=0;d<o.length;d++)a.set(o.ids[d],d);let s=new ht(Math.max(1,o.length+e.held.size)),i=new Map;for(let d=0;d<o.length;d++){let c=o.ids[d];n.has(c)?i.set(c,o.itemAt(d)):s.pushFrom(o,d)}let l=new Map;for(let d of e.items.chunks)for(let c=0;c<d.length;c++){let u=d.ids[c];if(a.find(u)!==-1||n.has(u))continue;let p=e.held.get(u),f=p===void 0?Number.NEGATIVE_INFINITY:p.since;r&&u>0&&t.itemsRevision>f||(l.set(u,{item:p===void 0?pa(u,d.businessDateCodes[c],d.sourceTypeCodes[c]):p.item,since:f}),s.pushFrom(d,c))}return{items:Uc(Yu(s.build())),held:l,hidden:i,revision:t.itemsRevision,settled:r}},sS=(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?[]:pu(t.itemsChanges,o);if(o===null||a===null)return Gu(e,t,r,n);let s=e.items,i=[],l=[],d=a.length===0?null:a.length===1?a[0]:uu(a,o,t.itemsRevision),c=new ht(d===null?1:Math.max(1,d.appended.length+d.replaced.next.length)),u=null,p=()=>(u===null&&(u=new Map(e.held)),u),f=null,y=()=>(f===null&&(f=new Map(e.hidden)),f);if(d!==null){let{appended:g,replaced:R,removed:E}=d;for(let T=0;T<E.length;T++){let _=E.ids[T];if(e.hidden.has(_)&&y().delete(_),e.held.has(_))continue;let I=vi(s,_,E.businessDateCodes[T]);I!==-1&&(r||n.has(_)?i.push(I):p().set(_,{item:pa(_,tn(s,I),li(s,I)),since:Number.NEGATIVE_INFINITY}))}let D=(T,_,I)=>{let O=T.ids[_],M=T.businessDateCodes[_],F=T.sourceTypeCodes[_],Y=e.held.get(O);Y!==void 0&&p().delete(O);let V=Y===void 0?I:Ct(Y.item.businessDate),w=V===-1?-1:vi(s,O,V);if(n.has(O)){w!==-1&&i.push(w),y().set(O,T.itemAt(_));return}if((f===null?e.hidden:f).has(O)&&y().delete(O),w!==-1&&tn(s,w)===M){li(s,w)!==F&&l.push({index:w,id:O,businessDateCode:M,sourceTypeCode:F});return}w!==-1&&i.push(w),c.push(O,M,F)};for(let T=0;T<R.next.length;T++)D(R.next,T,R.previous.businessDateCodes[T]);for(let T=0;T<g.length;T++)D(g,T,-1)}let h=t.itemsRevision;if(r)for(let[g,R]of u===null?e.held:u){if(g<=0||h<=R.since)continue;let E=Ha(s,R.item);E!==-1&&i.push(E),p().delete(g)}let b=Yu(c.build());return{items:nn(s,{removals:i,replacements:l,additions:b,insertions:oS(s,b)}),held:u===null?e.held:u,hidden:f===null?e.hidden:f,revision:h,settled:r}},ju=new WeakMap,iS=(e,t,r,n)=>{let o=ju.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=sS(e,t,r,n);return ju.set(e,{revision:t.itemsRevision,changes:t.itemsChanges,settled:r,tombstones:n,rows:a}),a},qu=(e,t,r)=>{let[n,o]=rS(()=>Gu(nS,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>iS(a,e,t,r)),[n,o]},Ba=(e,t,r)=>{if(e.hidden.has(t.reportHubId))return wi(e,t.reportHubId);if(e.held.has(t.reportHubId)||Ha(e.items,t)!==-1||$n(e.items,t.reportHubId)!==-1)return e;let n=nn(e.items,{...Cr,additions:ai([t]),insertions:[_i(e.items,t.reportHubId,Ct(t.businessDate),0)]}),o=new Map(e.held);return o.set(t.reportHubId,{item:t,since:r}),{...e,items:n,held:o}},wi=(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:nn(e.items,{...Cr,additions:ai([r]),insertions:[_i(e.items,r.reportHubId,Ct(r.businessDate),0)]}),hidden:n}},to=(e,t)=>{let r=e.held.get(t);if(r===void 0)return e;let n=Ha(e.items,r.item),o=new Map(e.held);return o.delete(t),{...e,items:nn(e.items,n===-1?Cr:{...Cr,removals:[n]}),held:o}},Xu=(e,t)=>{let r=e.held.get(t.reportHubId),n=Ha(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:nn(e.items,n===-1?Cr:{...Cr,removals:[n]}),held:o}},Qu=e=>({...e,revision:null});var Li=(e,t,r)=>{if(!Number.isFinite(e)||e<=0)throw we("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 Ni=0,Oi=e=>{let t=ft("drawTemporaryId: nowMs",e,1);return Ni=Math.min(-t,Ni-1),Ni};import{jsx as Pi,jsxs as ES}from"react/jsx-runtime";var Gt=ir(void 0,1,"ActionProvider"),dS=3e4,cS=3e4,uS=1e3,Bi=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportActionHttpError",this.status=r}},pS=e=>{let t=Li(dS,e,()=>{});return{add:r=>t.add(r,!0),has:r=>t.get(r)===!0}},mS=e=>Li(cS,e,(t,r)=>{r.unsubscribe(),Gt.warn(`[SSE Queue] Expired: reportHubId=${t}, dropped=${r.messages.length} messages`)}),$w=Object.freeze(["delete","deleteComment"]),fS=e=>e.intent==="create"?null:e.reportHubId,yS=(e,t)=>{let r=e;if(r.intent==="clearCache"||r.clientTempId!==t.clientTempId)return!1;let n=fS(t);return n===null||r.reportHubId===n},Va=globalThis.__DailyReportActionsContext??Ju(null);globalThis.__DailyReportActionsContext=Va;var Wa=globalThis.__DailyReportActionStateContext??Ju(null);globalThis.__DailyReportActionStateContext=Wa;var Ua="DailyReportActionProvider",Be=()=>yt(Va,"useDailyReportActions",Ua),Ka=()=>yt(Wa,"useDailyReportActionState",Ua),hS=()=>{let e=yt(Va,"useDailyReportActionContext",Ua),t=yt(Wa,"useDailyReportActionContext",Ua);return Hi(()=>({...e,...t}),[e,t])},Nr=(e,t)=>{if(!e)return t;if(e.displayName?.trim())return e.displayName;if(e.name){let n=[e.name.familyName,e.name.givenName].filter(o=>typeof o=="string"&&o!=="").join(" ");if(n.trim())return n.trim()}let r=e.emails?.[0]?.value;return r||t},ki=(e,t)=>e.has(t)?e:new Set(e).add(t),bS=(e,t)=>{if(!e.has(t))return e;let r=new Set(e);return r.delete(t),r},RS=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()}}}},SS=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)}),gS=Object.freeze({kind:"idle"}),ep=lS(({isSseEnabled:e,onMessage:t,onStatus:r})=>{let n=Ti({isSseEnabled:e,onMessage:t});return Fi(()=>{r(n)},[n,r]),null});ep.displayName="DailyReportSseConnectionHost";var Ui=({children:e,user:t,userId:r})=>{let{apiBasePath:n,labels:o}=q(),{notifyError:a}=Fa(),[s,i]=wt(0),[{ledgers:l,write:d}]=wt(()=>RS(()=>i(S=>S+1))),[c,u]=wt(0),[p,f]=wt(0),[y]=wt(Nu),[h,b]=wt(!1),[m,g]=wt(gS),R=ro(!1),E=ro(new Map),D=ro(new Set),T=ro(new Set),[_]=wt(()=>pS(()=>performance.now())),[I]=wt(()=>mS(()=>performance.now())),O=vu(),[M,F]=qu(O,O.settled,D.current),Y=M.items,V=`${c}:${M.settled?M.revision:"-"}`,w=()=>{u(S=>S+1)},P=()=>{i(S=>S+1)},j=Mi(S=>T.current.has(S),[]),B=Mi(()=>Su()===(r??null),[r]),Z=async()=>{Gt.info("Refetching data without page reload..."),Jn(),P(),ee.listeners.forEach(S=>{S(-1)})},$=async()=>{Gt.info("Clearing client & server/DB cache and refetching data without page reload..."),Hn(),D.current=new Set,T.current.clear(),f(S=>S+1),F(Qu);try{sessionStorage.clear()}catch{}try{let S=await fetch(`${n}/${ke.action}`,{method:"POST",body:fi({intent:"clearCache"})});if(!S.ok){let C=await S.json().catch(()=>null);Gt.warn("Failed to clear server-side cache:",S.status,C)}}catch(S){Gt.warn("Failed to clear server-side cache:",S)}B()&&(Jn({forceRefresh:!0}),P(),ee.listeners.forEach(S=>{S(-1)}))},G=(S,C)=>{let K=I.get(S);if(K!==void 0){K.messages.push(C);return}let N;N={messages:[C],unsubscribe:xc(S,()=>{if(I.get(S)===N&&ot(S,{ignoreExpiry:!0})){I.remove(S),N.unsubscribe(),Gt.info(`[SSE Queue] Replaying ${N.messages.length} messages for reportHubId=${S}`);for(let L of N.messages)tt.current.handleSseMessage(L)}})},I.add(S,N)};Fi(()=>()=>{for(let S of I.drain())S.unsubscribe()},[I]);let ue=Mi((S,C)=>{C!==void 0&&Zn({reportHubId:S,businessDate:C})},[]),pe=()=>{r&&(R.current=!0,b(S=>!S))};Zu(()=>{if(!r)return;let S=setTimeout(()=>{R.current||b(!0)},dc);return()=>clearTimeout(S)},[r]);let We=S=>{B()&&(D.current=ki(D.current,S),T.current.add(S),f(C=>C+1),va(S),F(C=>to(C,S)),y.discard(S))};Zu(()=>{if(!M.settled)return;let S=new Set;for(let C of D.current)Ru(C)&&S.add(C);S.size!==D.current.size&&(D.current=S)},[M.settled,M.revision]);let je=S=>{if(B()&&!_.has(S.clientTempId))switch(S.type!=="status-update"&&w(),S.type){case"comment-add":{let{comment:C,reportHubId:K}=S,N=ot(K,{ignoreExpiry:!0});if(N){if(N.postedComments.some(k=>k.id===C.id))return;let X=typeof r=="string"&&C.userId===r,L={...C,userName:C.userName||(X?Nr(t,o.unknownUser):o.unknownUser),createdAt:C.createdAt||new Date().toISOString(),isMine:X},A={...N,postedComments:[...N.postedComments,L].sort((k,W)=>new Date(k.createdAt||0).getTime()-new Date(W.createdAt||0).getTime())};xr(K,A),Zs(K),P()}else G(K,S);break}case"comment-delete":{let{commentId:C,reportHubId:K}=S,N=ot(K,{ignoreExpiry:!0});if(N){let X={...N,postedComments:N.postedComments.filter(L=>L.id!==C)};xr(K,X),Zs(K),P()}else G(K,S);break}case"status-update":{let{statusType:C,value:K,reportHubId:N}=S,X=ot(N,{ignoreExpiry:!0});if(C==="star")if(l.pendingStarUpdates.current.get(N)===K&&d(({pendingStarUpdates:L})=>L.delete(N)),X){let L={...X,isStarred:K};xr(N,L),P()}else G(N,S);else if(C==="read")if(l.pendingReadUpdates.current.get(N)===K&&d(({pendingReadUpdates:L})=>L.delete(N)),X){let L={...X,isRead:K};xr(N,L),P()}else G(N,S);break}case"report-delete":{let{reportHubId:C}=S;D.current=ki(D.current,C),T.current.add(C),f(N=>N+1),va(C),F(N=>to(N,C)),y.discard(C),I.remove(C)?.unsubscribe();let K=ot(C,{ignoreExpiry:!0});K?.date&&(Qs(C,K.date),P());break}case"report-create":case"report-update":case"report-publish":{let{report:C}=S;Ac(C),(S.type==="report-create"||S.type==="report-publish")&&ue(C.reportHubId,C.date),P();break}}},me=async(S,C,K={})=>{let{intent:N}=S,{onGone:X}=C,{lockedReportHubId:L}=K,A=L===void 0?null:Ec(L);C.onOptimistic?.(),_.add(S.clientTempId);let k=()=>{if(!B())throw Gt.warn(`[executeAction] ${N} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${N}`)};try{let W=await fetch(`${n}/${ke.action}`,{method:"POST",body:fi(S),headers:{Accept:"application/json"}});if(W.status===404&&X!==void 0)return k(),X();if(!W.ok)throw new Bi(N,W.status);let re=au(N,await W.json());if("mismatch"in re)throw new Error(`[daily-report] ${N} answered a body that is not its result (${re.mismatch})`);let{result:Ee}=re;if(!yS(Ee,S))throw new Error(`[daily-report] ${N} answered another request`);return k(),C.onSuccess(Ee)}catch(W){throw Gt.error(`${N} failed:`,W),B()&&(C.onFailure?.(),tt.current.notifyError({operation:N,message:o.operationFailed(N),cause:W})),W}finally{A?.()}},ie=(S,C,K)=>({reportHubId:S,clientTempId:K,businessDate:typeof C=="string"?C:null,operationTimestamp:Date.now()}),Xe={toggleSse:pe,addComment:async(S,C,K)=>{let N=Oi(Date.now()),X=me({...ie(S,K,String(N)),intent:"addComment",content:C},{onOptimistic:()=>{d(({pendingAddCommentIds:L})=>{let A=L.get(S);A===void 0?L.set(S,new Map([[N,C]])):A.set(N,C)})},onSuccess:({newComment:L})=>{let A=L.id;d(({resolvedIdMap:W,pendingAddCommentIds:re})=>{W.set(N,A),re.get(S)?.delete(N)}),w();let k=ot(S,{ignoreExpiry:!0});return k&&!k.postedComments.some(W=>W.id===A)&&at(S,{postedComments:[...k.postedComments,{...L,isMine:!0,userName:Nr(t,o.unknownUser)}]}),A},onFailure:()=>{d(({pendingAddCommentIds:L})=>L.get(S)?.delete(N))}}).finally(()=>E.current.delete(N));E.current.set(N,X),await X},deleteComment:async(S,C,K)=>{d(({pendingDeleteCommentIds:L})=>{let A=L.get(S);A===void 0?L.set(S,new Set([C])):A.add(C)});let N=C;if(C<0){let L=l.resolvedIdMap.current.get(C);if(L!==void 0)N=L;else{let A=E.current.get(C);if(!A)return;try{N=await A}catch{return}}}let X=()=>{let L=ot(S,{ignoreExpiry:!0});L&&(at(S,{postedComments:L.postedComments.filter(A=>A.id!==N)}),Tc(N)),d(({pendingDeleteCommentIds:A})=>A.get(S)?.delete(C)),w()};await me({...ie(S,K,crypto.randomUUID()),intent:"deleteComment",commentId:N},{onSuccess:X,onGone:X,onFailure:()=>{d(({pendingDeleteCommentIds:L})=>L.get(S)?.delete(C))}})},toggleStar:async(S,C,K)=>{await me({...ie(S,K,crypto.randomUUID()),intent:"toggleStar",value:C},{onOptimistic:()=>{at(S,{isStarred:C}),d(({pendingStarUpdates:N})=>N.set(S,C))},onSuccess:({updatedStatus:N})=>{ot(S,{ignoreExpiry:!0})&&(at(S,{isStarred:N.isStarred}),P()),d(({pendingStarUpdates:X})=>X.delete(S))},onFailure:()=>{at(S,{isStarred:!C}),d(({pendingStarUpdates:N})=>N.delete(S))}})},toggleRead:async(S,C,K)=>{await me({...ie(S,K,crypto.randomUUID()),intent:"toggleRead",value:C},{onOptimistic:()=>{at(S,{isRead:C}),d(({pendingReadUpdates:N})=>N.set(S,C))},onSuccess:({updatedStatus:N})=>{ot(S,{ignoreExpiry:!0})&&(at(S,{isRead:N.isRead}),P()),d(({pendingReadUpdates:X})=>X.delete(S))},onFailure:()=>{at(S,{isRead:!C}),d(({pendingReadUpdates:N})=>N.delete(S))}})},createReport:async S=>{let C=Oi(Date.now()),K=new Date().toISOString(),N={reportHubId:C,date:S,createdAt:K,author:Nr(t,o.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:Nr(t,o.unknownUser),updatedBy:Nr(t,o.unknownUser),updatedAt:K,category:null,creationCategory:null,visitTimeFrom:null,visitTimeTo:null,customerName:null,interviewers:[],subject:"",content:"",externalComments:[],isRead:!0,isStarred:!1,isDraft:!0,labels:[],postedComments:[],attachments:[]};gc(N,Date.now()+3e5,!1),F(X=>Ba(X,{reportHubId:C,businessDate:S},Number.NEGATIVE_INFINITY));try{let X=await me({intent:"create",clientTempId:String(C),businessDate:S,operationTimestamp:Date.now()},{onSuccess:k=>k.report}),L=X.reportHubId,A=Ei();return Zn({reportHubId:L,businessDate:S}),Dc(L,uS),xr(L,X),P(),w(),F(k=>Ba(to(k,C),{reportHubId:L,businessDate:S},A)),L}catch(X){throw Gt.error("[createReport] Failed",X),F(L=>to(L,C)),X}},updateReport:async(S,C,K)=>{await me({...ie(S,K,crypto.randomUUID()),intent:"update",changes:{title:C.title,content:C.content}},{onSuccess:()=>{ot(S,{ignoreExpiry:!0})&&(at(S,{subject:C.title,content:C.content}),P()),w()}},{lockedReportHubId:S})},publishReport:async(S,C)=>{let K=ot(S,{ignoreExpiry:!0});await me({...ie(S,C,crypto.randomUUID()),intent:"publish"},{onOptimistic:()=>{K&&(at(S,{isDraft:!1}),P())},onSuccess:({report:N})=>{N!==null&&(xr(S,N),P()),C!==void 0&&Zn({reportHubId:S,businessDate:C}),w()},onFailure:()=>{K&&(at(S,{isDraft:K.isDraft}),P())}})},deleteReport:async(S,C)=>{let K=Wc(Y,S);D.current=ki(D.current,S),T.current.add(S),f(X=>X+1),va(S),K!==void 0&&F(X=>Xu(X,K));let N=()=>{Qs(S,C),y.discard(S),w()};try{await me({...ie(S,C,crypto.randomUUID()),intent:"delete"},{onSuccess:N,onGone:N},{lockedReportHubId:S})}catch(X){if(!B())return;D.current=bS(D.current,S),T.current.delete(S),f(k=>k+1);let L=K===void 0?C:K.businessDate,A=Ei();throw L!==void 0&&Zn({reportHubId:S,businessDate:L}),F(k=>{let W=wi(k,S);return K===void 0?W:Ba(W,K,A)}),X}},removeStaleItem:We,refetchData:Z,clearCacheAndRefetch:$,handleSseMessage:je,notifyError:a},tt=ro(Xe);Fi(()=>{tt.current=Xe});let[v]=wt(()=>SS(tt)),H=Hi(()=>({...l,...v.functions,user:t}),[l,v,t]),z=Hi(()=>({version:s,items:Y,isSseEnabled:h,sseStatus:m,searchInvalidation:V,isReportRemoved:j,removedVersion:p}),[s,Y,h,m,V,j,p]);return Pi(xi.Provider,{value:y,children:Pi(Va.Provider,{value:H,children:ES(Wa.Provider,{value:z,children:[Pi(ep,{isSseEnabled:h,onMessage:v.onSseMessage,onStatus:g}),e]})})})};var tp=(e,t)=>e.split(t).length-1,rp=(e,t,r)=>{let n=e("\uE000","\uE001");if(tp(n,"\uE000")!==1||tp(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((c,u)=>c.at-u.at);let i=[],l=0;for(let{at:c,part:u}of s)c>l&&i.push({kind:"text",text:n.slice(l,c)}),i.push(u),l=c+1;return l<n.length&&i.push({kind:"text",text:n.slice(l)}),i.map(c=>c.kind==="text"?c.text:c.kind==="name"?t:r).join("")===e(t,r)?i:null};import{useContext as OS,useEffect as MS,useId as kS,useLayoutEffect as dp,useMemo as $i}from"react";import{createContext as sp,createElement as CS,useCallback as ap,useContext as ip,useDeferredValue as IS,useLayoutEffect as vS,useMemo as Ki,useSyncExternalStore as _S}from"react";var np=Object.freeze({subject:"subject",content:"content",author:"author",employeeName:"author",updatedBy:"updatedBy",category:"category",creationCategory:"creationCategory",customerName:"customer",interviewer:"interviewers",attachment:"attachments",comment:"comments"}),DS=e=>Object.hasOwn(np,e),TS=e=>{let t=e.indexOf(":"),r=t===-1?e:e.slice(0,t);if(!(ln(e)&&DS(r)))throw new Error(`[daily-report] A search mark leaf carries an unknown field key: ${e}`);return np[r]},xS=Object.freeze([]),Wi=(e,t)=>e.map(({heading:r,matchedBy:n})=>n==="reading"?t.searchFieldMatchedByReading(t[r]):t.searchFieldMatched(t[r])).join(" "),Vi=e=>e.words>0||e.dense>0?"word":e.readings>0?"reading":null,AS=(e,t)=>e.length===t.length&&e.every((r,n)=>r.heading===t[n].heading&&r.matchedBy===t[n].matchedBy),op=()=>{let e=new Map,t=new Map,r=new Set,n=null,o=0,a=0,s=xS,i=!1,l=Object.freeze({entry:n,isCurrent:!0,count:o,fields:s}),d=!1,c=l,u=!1,p=R=>!R.isCurrent||R.entry!==n,f=()=>{let R=[];for(let[E,D]of t){let T=Vi(D);T!==null&&R.push(Object.freeze({heading:E,matchedBy:T}))}return Object.freeze(R)},y=()=>{if(!d)return l;d=!1;let R=a===0;if(i){i=!1;let E=f();AS(E,s)||(s=E)}return l.entry===n&&l.isCurrent===R&&l.count===o&&l.fields===s||(l=Object.freeze({entry:n,isCurrent:R,count:o,fields:s})),l},h=()=>{u=!1;let R=y();if(R!==c){c=R;for(let E of[...r])E()}},b=()=>{d=!0,!u&&(u=!0,queueMicrotask(h))},m=R=>{let E=t.get(R);if(E!==void 0)return E;let D={leaves:0,words:0,readings:0,dense:0};return t.set(R,D),D},g=(R,E)=>{o+=E*(R.words+R.readings),p(R)&&(a+=E);let D=m(R.heading),T=Vi(D);D.leaves+=E,D.words+=E*R.words,D.readings+=E*R.readings,R.dense&&(D.dense+=E),Vi(D)!==T&&(i=!0),D.leaves===0&&t.delete(R.heading)};return{register:(R,E)=>{let D={...E,heading:TS(E.fieldKey)},T=e.get(R);e.set(R,D),g(D,1),T!==void 0&&g(T,-1),b()},unregister:R=>{let E=e.get(R);E!==void 0&&(e.delete(R),g(E,-1),b())},settle:R=>{if(R!==n){n=R,a=0;for(let E of e.values())p(E)&&(a+=1);b()}},subscribe:R=>(r.add(R),()=>{r.delete(R)}),getSnapshot:y}};var lt=sp(null),lp=sp(null),no=()=>{let e=ip(lp);if(e===null)throw new Error("[daily-report] A search marks part is drawn outside a row's marks scope (DailyReportSearchMarksScope) while the screen holds a marks store");return e},wS=()=>{},LS=()=>wS,NS=(e,t)=>{let r=ap(i=>e===null?LS():e.subscribe(t,i),[e,t]),n=ap(()=>{let i=e===null?void 0:e.read(t);return i===void 0?null:i},[e,t]),o=_S(r,n,n),a=Ki(()=>e===null||o===null?null:{store:e,entry:o},[e,o]),s=IS(a,a===null?void 0:null);return s!==null&&s.store===e?s.entry:null},pn=({reportHubId:e,children:t})=>{let r=ip(lt),n=NS(r,e),o=Ki(()=>r===null?null:op(),[r]),a=Ki(()=>r===null||o===null?null:{entry:n,revalidate:(s,i)=>r.revalidate(e,s,i),tally:o,indicator:r.indicator},[r,o,n,e]);return vS(()=>{o!==null&&o.settle(n)},[o,n]),CS(lp.Provider,{value:a},t)};import{jsx as up}from"react/jsx-runtime";var PS="data-daily-report-search-mark",FS=Object.freeze({[Yr.word]:Object.freeze({attribute:"word",description:null}),[Yr.reading]:Object.freeze({attribute:"reading",description:"searchReadingMarkDescription"})}),cp=e=>{if(!Mn(e))throw new Error(`[daily-report] A search mark carries an unknown tier: ${e}`);return FS[e]},HS=Object.freeze({words:0,readings:0}),BS=e=>{if(e===null)return HS;let t=0;for(let r=2;r<e.length;r+=3)cp(e[r]).attribute==="reading"&&(t+=1);return{words:e.length/3-t,readings:t}},US=(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=cp(t[a+2]);s>o&&n.push(e.slice(o,s)),n.push(up("mark",{[PS]:l.attribute,"aria-description":l.description===null?void 0:r[l.description],className:Ed,children:e.slice(s,i)},`m${s}`)),o=i}return o<e.length&&n.push(e.slice(o)),n},VS=({fieldKey:e,raw:t,display:r})=>{let{entry:n,revalidate:o,tally:a}=no(),{labels:s}=q(),i=kS(),l=typeof t=="string"?t:"",d=$i(()=>n===null||l.length===0?null:pi(l),[n,l]),c=n===null?void 0:n.fields[e],u=c!==void 0&&d!==null&&c.fingerprint===d?c:null,p=u!==null&&"ranges"in u?u.ranges:null,f=u!==null&&"dense"in u,y=$i(()=>p===null?null:Nd(r,p),[p,r]),h=$i(()=>BS(y),[y]),b=d!==null&&u===null,m=l.length===0;return MS(()=>{b&&d!==null&&o(e,d)},[b,o,e,d]),dp(()=>()=>a.unregister(i),[a,i]),dp(()=>{m||n===null?a.unregister(i):a.register(i,{entry:n,isCurrent:!b,fieldKey:e,words:h.words,readings:h.readings,dense:f})},[a,i,m,n,b,e,h,f]),y===null||y.length===0?r.text:US(r.text,y,s)},se=({fieldKey:e,raw:t,display:r})=>OS(lt)===null?r.text:up(VS,{fieldKey:e,raw:t,display:r});import{jsx as KS}from"react/jsx-runtime";var WS={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},pr=Object.freeze({2:3,3:4,4:5,5:6}),Je=({level:e,...t})=>{let r=WS[e];return KS(r,{...t})};import{memo as Kp,useId as Ug,useMemo as Vg,useRef as $p}from"react";var pp=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var ji="tile",ao=pp[ji],$S=2,oo=16,mp=5,fp=ao.maxWidth/$S,zS=mp*(fp+oo)-oo,yp=e=>{let t=Math.min(mp,1+Math.floor((e+oo)/(fp+oo)));return Math.floor((Math.min(e,zS)-(t-1)*oo)/t)},zi=`round(nearest, 100cqi * ${ao.maxHeight} / ${ao.maxWidth}, 1px)`,hp=Object.freeze({aspectRatio:`${ao.maxWidth} / ${ao.maxHeight}`,height:zi,contain:"strict"}),jS="--aqdr-lattice-block",bp=Object.freeze({marginBlockEnd:`calc(round(up, ${zi}, var(${jS})) - ${zi})`});var YS="download",GS="thumbnail",qS="1",mn=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[YS]:qS})}`;case"thumbnail":return`${n}?${new URLSearchParams({[GS]:r.variant})}`}};import{createContext as XS,useContext as QS}from"react";var so=XS(null),fn=()=>QS(so)===!1?-1:void 0,Rp=(e,t)=>{let{before:r,after:n}=da(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};import{createContext as rg,useContext as ng,useLayoutEffect as og,useMemo as Ep,useState as ag}from"react";import{flushSync as sg}from"react-dom";import{flushSync as ZS}from"react-dom";var Yi=new WeakMap,Sp=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,JS=e=>{e.frame=null;let t=[...e.observations.values()].filter(Sp);t.length!==0&&ZS(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},eg=(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=n.trackWidthOf(o))}e.frame!==null||![...e.observations.values()].some(Sp)||(e.frame=e.view.requestAnimationFrame(()=>JS(e)))},tg=e=>{let t=Yi.get(e);if(t!==void 0)return t;let r=e.defaultView;if(r===null)throw new Error("[daily-report] An attachment name track must belong to a document with a window to be measured");let n={view:r,observer:new r.ResizeObserver(o=>eg(n,o)),observations:new Map,frame:null};return Yi.set(e,n),n},gp=(e,t,r)=>{let n=e.ownerDocument,o=tg(n);if(o.observations.has(e))throw new Error("[daily-report] An attachment name track is already observed");let a={trackWidthOf:t,onTrackWidth:r,observedTrackWidth:null,handedTrackWidth:null};return o.observations.set(e,a),o.observer.observe(e),()=>{o.observations.get(e)===a&&(o.observations.delete(e),o.observer.unobserve(e),!(o.observations.size>0)&&(o.frame!==null&&o.view.cancelAnimationFrame(o.frame),o.observer.disconnect(),Yi.delete(n)))}};import{jsx as Lt,jsxs as Ap}from"react/jsx-runtime";var Xi="\u2026",ig=Xi.codePointAt(0),Dp=Object.freeze({text:Xi,runs:Object.freeze([])}),$a="data-attachment-file-name",lg=ve("block min-w-0"),dg="block whitespace-nowrap",cg=new Set([" ","\xA0","\u1361","\u{10100}","\u{10101}","\u{1039F}","\u{1091F}"," ",`
|
|
7
|
-
`,"\f","\r"]),ug=/^-?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?px$/,Qi=({fileName:e})=>Lt("span",{className:kt,children:e}),pg=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,mg=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,Zi=rg(null),Cp=e=>{let t=e.text.lastIndexOf(".");return t<=0||t===e.text.length-1?{stem:e,extension:nt("")}:{stem:Nn(e,0,t),extension:Nn(e,t,e.text.length)}},Gi=(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 Nn(e,0,o.slice(0,a).join("").length)},fg=(e,t,r)=>{if(r(e)<=t)return nt(e);let{stem:n,extension:o}=Cp(Ld(e)),a=t/2,s=r(o.text)<=a?o:zr([Gi(o,Xi,a,r),Dp]);if(r(n.text+s.text)<=t)return zr([n,s]);let i=zr([Dp,s]);return r(i.text)>t?Gi(i,"",t,r):zr([Gi(n,i.text,t,r),i])},Tp=new WeakMap,Ip=e=>{let t=Tp.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 Tp.set(e,n),n},vp=(e,t,r)=>`${e}|${t}|${r}`,yg=(e,t,r,n)=>{let o=vp(t,r,n),a=e.measures.get(o);if(a!==void 0)return a;let s=i=>{e.font!==t&&(e.context.font=t,e.font=t);let l=0;for(let d of i)l+=cg.has(d)?r+n:r;return e.context.measureText(i).width+l};return e.measures.set(o,s),s},_p=e=>{let t=new Set;for(let r of e.matchAll(pg)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},xp=e=>e==="normal"?0:ug.test(e)?Math.max(Number.parseFloat(e),0):null,hg=e=>{let t=getComputedStyle(e),r=xp(t.letterSpacing),n=xp(t.wordSpacing);if(r===null||n===null)return null;let o=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:o,letterSpacing:r,wordSpacing:n,families:_p(t.fontFamily),measure:yg(Ip(e.ownerDocument),o,r,n)}},bg=(e,t)=>e===t||e!==null&&t!==null&&e.width===t.width&&e.measure===t.measure,Rg=e=>{let t=new Set([ig]);for(let r of e.querySelectorAll(`[${$a}]`)){let n=r.getAttribute($a);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},Sg=(e,t)=>{for(let r of e.split(",")){let n=mg.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},qi=new WeakMap,wp=e=>{let t=qi.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return qi.set(e,r),r},Lp=(e,t)=>{let r=hg(e.container.querySelector(`[${$a}]`));if(r===null){e.fitted=null,e.applyFit(null);return}e.fitted={trackWidth:t,nameFont:r};let n=wp(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=Eg(n)),e.applyFit({width:t,measure:r.measure})},gg=(e,t)=>{let r=t.map(o=>({families:_p(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(d=>a.nameFont.families.has(d)));if(s.length===0)continue;let i=Rg(o.container);s.some(l=>Sg(l.unicodeRange,i))&&(Ip(e.document).measures.delete(vp(a.nameFont.font,a.nameFont.letterSpacing,a.nameFont.wordSpacing)),n.push([o,a.trackWidth]))}n.length!==0&&sg(()=>{for(let[o,a]of n)Lp(o,a)})},Eg=e=>{let t=e.document.fonts,r=n=>{gg(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},Dg=(e,t,r)=>{let n={container:e,applyFit:r,fitted:null},o=gp(e,t,s=>Lp(n,s)),a=wp(e.ownerDocument);return a.registrations.add(n),()=>{o(),a.registrations.delete(n),!(a.registrations.size>0)&&(a.stopWatchingFonts?.(),qi.delete(a.document))}},Np=(e,t)=>{let[r,n]=ag(null);return og(()=>{let o=e.current;return Dg(o,t,s=>{n(i=>bg(i,s)?i:s)})},[e,t]),r},Op=({containerRef:e,children:t})=>{let r=Np(e,yp);return Lt(Zi,{value:r,children:t})},Tg=e=>e,Mp=({containerRef:e,children:t})=>{let r=Np(e,Tg);return Lt(Zi,{value:r,children:t})},io=({fileName:e,attachmentIndex:t,className:r,testId:n})=>{let o=ng(Zi),a=Ep(()=>o===null?null:fg(e,o.width,o.measure),[e,o]),{stem:s,extension:i}=Ep(()=>Cp(nt(e)),[e]),l=le.attachment(t);return Ap("span",{className:lg(r),title:e,"data-testid":n,[$a]:e,children:[a===null?Ap("span",{"aria-hidden":"true",className:"flex min-w-0",children:[Lt("span",{className:"truncate",children:Lt(se,{fieldKey:l,raw:e,display:s})}),i.text!==""&&Lt("span",{className:"max-w-1/2 shrink-0 truncate",children:Lt(se,{fieldKey:l,raw:e,display:i})})]}):Lt("span",{"aria-hidden":"true",className:dg,children:Lt(se,{fieldKey:l,raw:e,display:a})}),Lt(Qi,{fileName:e})]})};import vg from"lucide-react/dist/esm/icons/image-off.js";import{memo as _g,useCallback as tl,useEffect as wg,useLayoutEffect as Lg,useRef as rl,useState as Ng}from"react";var za=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),kp=za.queueWaitMs+za.readMs+za.renderMs+za.transferMarginMs;var xg=Object.freeze({kind:"loaded"}),Pp=(e,t,r,n,o)=>{let{limiter:a,tuning:s}=n,i="watching",l=null,d=null,c=null,u=null,p=null,f=V=>(V!==null&&n.clearTimeout(V),null),y=()=>{u?.(),u=null},h=()=>{p?.(),p=null},b=V=>V===null||V.kind==="loaded"?0:V.kind==="failing"?V.failedAttempts:s.maxAttempts,m=V=>{i="cooling",c=n.setTimeout(O,V)},g=()=>{o.abortInFlight(),h();let V=b(r.get(t))+1;if(V>=s.maxAttempts){i="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:V,retryAt:n.now()+s.retryDelayMs}),o.reset(),m(s.retryDelayMs)},R=V=>{if(i==="loading"){if(d=f(d),!V){g();return}i="done",r.set(t,xg),h()}},E=()=>{d=null,R(!1)},D=()=>{i="loading",o.showActivity(!0),y(),d=n.setTimeout(E,s.loadTimeoutMs),o.grant()},T=()=>{l=null,i="queued",p=a.request(D)},_=()=>{l===null&&(l=n.setTimeout(T,s.settleMs))},I=V=>{if(o.showActivity(V),V){i==="watching"&&_();return}if(i==="queued"){h(),i="watching";return}l=f(l)},O=()=>{c=null,i="watching",o.showActivity(!1),u=n.observe(e,I)},M=()=>{let V=i==="loading";i="done",y(),l=f(l),d=f(d),c=f(c),o.showActivity(!1),V&&(o.abortInFlight(),p!==null&&o.reset()),h()},F=r.get(t);if(F?.kind==="loaded")return i=o.shows()?"done":"loading",o.grant(),{settle:R,dispose:M};if(F?.kind==="exhausted"){if(n.now()-F.failedAt<s.failureMemoryMs)return i="done",o.exhausted(),{settle:R,dispose:M};r.delete(t)}o.reset();let Y=F?.kind==="failing"?F.retryAt-n.now():0;return Y>0?m(Y):O(),{settle:R,dispose:M}};var Ag=e=>{ft("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())}}}},Fp=Ag(2);var Cg=e=>{ft("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)}}},Ji=Cg(1024);var el=new WeakMap,Ig=e=>{let t=el.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 el.set(e,a),a},Hp=(e,t)=>{let r=e.ownerDocument,n=Ig(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(),el.delete(r)))}};import{jsx as lo,jsxs as Bg}from"react/jsx-runtime";var Og={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},Mg="data-thumbnail-active",kg="data-daily-report-attachment-preview",Up={[kg]:""},Pg=Object.freeze({settleMs:250,loadTimeoutMs:kp,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),Bp=e=>{let t=Ji.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},Fg=()=>({limiter:Fp,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:Hp,tuning:Pg}),Hg=(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(Mg,o)}}),Vp=_g(({thumbnailUrl:e,unavailableLabel:t})=>{let r=rl(null),n=rl(null),o=rl(null),[a,s]=Ng(()=>Bp(e));a.url!==e&&s(Bp(e)),Lg(()=>{if(a.status==="failed")return;let c=n.current,u=a.status==="idle"?null:a.url;c.getAttribute("src")!==u&&(u===null?c.removeAttribute("src"):c.setAttribute("src",u))},[a]),wg(()=>{let c=r.current,u=Pp(c,e,Ji,Fg(),Hg(e,c,s,n));return o.current=u,()=>{o.current=null,u.dispose()}},[e]);let i=tl(c=>{c!==null&&(n.current=c)},[]),l=tl(()=>{s(c=>c.status==="granted"?{url:c.url,status:"loaded"}:c),o.current?.settle(!0)},[]),d=tl(()=>{o.current?.settle(!1)},[]);return lo("span",{className:"block",children:lo("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":Og[a.status],style:hp,className:"relative block w-full",children:lo("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"?Bg("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 ${Ht}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[lo(vg,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):lo("img",{ref:i,alt:"",decoding:"async",fetchPriority:"low",draggable:!1,onLoad:l,onError:d,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 Se,jsxs as Nt}from"react/jsx-runtime";var Wp=1024,nl=["B","KB","MB","GB"],zp="text-slate-500 text-sm line-through dark:text-slate-400",Wg="relative truncate",Kg=ve(Wg),$g=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",ne),zg=x("flex min-w-0 flex-col gap-2 rounded-lg",ne),jg=x("flex min-w-0 rounded-sm",ne),Yg=x("m-0",gr),Gg=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=Wp&&r<nl.length-1;)t/=Wp,r+=1;return r===0?`${t} ${nl[r]}`:`${t.toFixed(1)} ${nl[r]}`},qg=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}},jp=({attachment:e,labels:t,className:r})=>Nt("span",{className:Kg(r),children:[Gg(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),ol=({href:e,children:t,...r})=>{let n=fn();return Se("a",{href:e,...r,tabIndex:n,children:t})},Yp=({downloadUrl:e,label:t,fileName:r})=>Nt(ol,{href:e,className:$g,"data-testid":"daily-report-attachment-download",children:[t," ",Se(Qi,{fileName:r})]}),Xg=Kp(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=Se(Vp,{thumbnailUrl:mn(r,e.id,{kind:"thumbnail",variant:ji}),unavailableLabel:n.attachmentThumbnailUnavailable}),a=e.state==="absent";return Nt("li",{className:"@container flex min-w-0 flex-col gap-1","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[a?Nt("div",{className:"flex min-w-0 flex-col gap-2",children:[o,Se(io,{fileName:e.fileName,attachmentIndex:t,className:zp,testId:"daily-report-attachment-name"})]}):Nt(ol,{href:mn(r,e.id,{kind:"inline"}),className:zg,"data-testid":"daily-report-attachment-link",...Up,children:[o,Se(io,{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"})]}),Nt("div",{className:"flex h-4 min-w-0 items-center gap-2 text-slate-500 text-xs tabular-nums dark:text-slate-400",style:bp,children:[Se(jp,{attachment:e,labels:n}),!a&&Se(Yp,{downloadUrl:mn(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})]})}),Qg=Kp(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=e.state==="absent",a=$p(null);return Nt("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:[Se(Mp,{containerRef:a,children:Se("div",{ref:a,className:"flex min-w-0 flex-1","data-testid":"daily-report-attachment-name-track",children:Nt("div",{className:"flex min-w-0 flex-col",children:[o?Se(io,{fileName:e.fileName,attachmentIndex:t,className:zp,testId:"daily-report-attachment-name"}):Se(ol,{href:mn(r,e.id,{kind:"inline"}),className:jg,"data-testid":"daily-report-attachment-link",children:Se(io,{fileName:e.fileName,attachmentIndex:t,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),Se(jp,{attachment:e,labels:n,className:"text-slate-500 text-xs tabular-nums dark:text-slate-400"})]})})}),!o&&Se(Yp,{downloadUrl:mn(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})}),Zg=({entries:e,headingId:t,apiBasePath:r,labels:n})=>{let o=$p(null);return Se(Op,{containerRef:o,children:Se("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:Se("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})=>Se(Xg,{attachment:a,attachmentIndex:s,apiBasePath:r,labels:n},a.id))})})})},ja=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=q(),o=Ug(),{tiles:a,rows:s}=Vg(()=>qg(e),[e]);return e.length===0?null:Nt("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[Se(Je,{level:pr[n],id:o,className:Yg,children:r.attachments}),Nt("div",{className:"flex flex-col gap-4",children:[a.length>0&&Se(Zg,{entries:a,headingId:o,apiBasePath:t,labels:r}),s.length>0&&Se("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:s.map(({attachment:i,index:l})=>Se(Qg,{attachment:i,attachmentIndex:l,apiBasePath:t,labels:r},i.id))})]})]})};import{useOverlayEscapeStack as hE}from"@aiquants/swipe-overlay";import{memo as em,useCallback as Xa,useEffect as Xp,useId as bE,useRef as tm,useState as RE}from"react";import{useCallback as Gp,useMemo as Jg,useRef as eE,useState as tE}from"react";var al=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:s,deleteComment:i}=Be(),{version:l}=Ka(),{labels:d}=q(),c=d.unknownUser,[u,p]=tE(null),f=Gp(m=>e&&i(e.reportHubId,m,e.date),[e,i]),y=Gp(m=>e&&t?s(e.reportHubId,m,e.date):Promise.resolve(),[e,t,s]),h=eE([]);return{uiComments:Jg(()=>{if(!e)return[];let m=tu(e.externalComments,e.postedComments,r,c),g=o.current.get(e.reportHubId);g?.size&&(m=m.filter(E=>!g.has(E.id)));let R=n.current.get(e.reportHubId);if(R?.size&&t){let E=new Set(m.map(I=>I.id)),D=Nr(t,""),T=D==="",_=T?c:D;for(let[I,O]of R){if(g?.has(I)||E.has(I))continue;let M=a.current.get(I);M&&E.has(M)||m.some(F=>F.isMine&&F.content===O&&typeof F.id=="number"&&F.id>0)||m.push({id:I,authorName:_,content:O,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1,isAuthorUnknown:T})}}return JSON.stringify(m)===JSON.stringify(h.current)?h.current:(h.current=m,m)},[e,t,r,c,o,n,a,l]),handleAddComment:y,handleDeleteComment:f,pendingDeleteId:u,setPendingDeleteId:p,resolvedIdMap:a.current}};import{Fragment as rE,jsx as nE}from"react/jsx-runtime";var Pe=({render:e})=>{let t=fn();return nE(rE,{children:e(t)})};import oE from"@heroicons/react/24/outline/TrashIcon.js";import{memo as aE,useId as sE,useMemo as qp,useRef as iE,useState as lE}from"react";import{jsx as Ot,jsxs as Ya}from"react/jsx-runtime";var sl="data-comment-id",Ga="data-comment-delete-button",qa="data-comment-delete-slot",dE=x(He,od),cE=Array.from({length:8},(e,t)=>x("relative rounded-xl border border-slate-200 border-solid bg-white p-[11px] dark:border-slate-700 dark:bg-slate-900/70",(t&4)!==0&&"border-blue-200 bg-blue-50 dark:border-blue-800/70 dark:bg-blue-950/40",(t&2)!==0&&"hidden",(t&1)!==0?"z-50":"z-0 hover:z-10")),uE=(e,t,r)=>(e?4:0)+(t?2:0)+(r?1:0),pE=ve("font-semibold text-xs"),mE="relative flex h-5 items-center",fE=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",ne),yE=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,il=aE(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:s,onBeforeHide:i,resolvedIdMap:l})=>{let[d,c]=lE(!1),{labels:u}=q(),p=sE(),f=iE(null),y=yE(e.id,o,l),h=qp(()=>Me(e.authorName),[e.authorName]),b=qp(()=>nt(e.content),[e.content]),m=le.comment(e.id,"author"),g=le.comment(e.id,"content"),R=ln(g),E=e.isMine&&!e.isLegacy,D=!!e.createdAt||E,T=()=>{let I=f.current;I!==null&&i(I),a(null),c(!0),typeof e.id=="number"&&n?.(e.id)},_=I=>{if(!y)return;let O=I.relatedTarget;Re(O)&&I.currentTarget.contains(O)||a(null)};return Ya("li",{[sl]:e.id,"data-deleted":d?"true":void 0,className:cE[uE(e.isMine,d,y)],children:[Ya("div",{className:"mb-1 flex items-center justify-between",children:[Ot("div",{className:pE(ru(e.color)),children:R&&!e.isAuthorUnknown?Ot(se,{fieldKey:m,raw:e.authorName,display:h}):h.text}),D&&Ya("div",{className:"flex items-center gap-2",children:[e.createdAt&&Ot("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:be(e.createdAt)}),E&&Ya("div",{[qa]:e.id,className:mE,onBlur:_,children:[Ot(Pe,{render:I=>Ot("button",{ref:f,type:"button",tabIndex:I,className:dE,title:u.commentDelete,"aria-label":u.commentDelete,"aria-expanded":y,"aria-controls":y?p:void 0,[Ga]:e.id,onClick:()=>s(e.id,y),children:Ot(oE,{"aria-hidden":"true",className:y?Oe.deletePending:Oe.delete})})}),y&&Ot(Pe,{render:I=>Ot("button",{id:p,type:"button",tabIndex:I,"data-delete-confirmation":!0,className:fE,onClick:T,children:u.commentDeleteConfirm})})]})]})]}),Ot("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:R?Ot(se,{fieldKey:g,raw:e.content,display:b}):e.content})]})});il.displayName="DailyReportPostedComment";import{Fragment as wE,jsx as dt,jsxs as ll}from"react/jsx-runtime";var SE="data-daily-report-comment-section",gE="data-daily-report-comment-heading",EE=x(Ft,ne),DE=ve("flex flex-col gap-2"),rm=(e,t)=>e>0||t,TE=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",Pt,ne),xE=x("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",ne),Qp=e=>e.querySelector(`[${Ga}][aria-expanded="true"]`),AE=(e,t,r)=>{let n=[...e.querySelectorAll(`[${Ga}]`)].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(`[${sl}]`)].filter(i=>!i.contains(t)&&i.closest("[data-deleted]")===null).length;return rm(s,r)?{kind:"heading"}:{kind:"report"}},CE=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:s,canComment:i,headingRef:l,onSectionRemoved:d})=>{let c=tm(null),u=hE(),p=bE(),f=o!==null,y=Xa(()=>{let m=c.current,g=m===null?null:Qp(m),R=g===null?null:g.closest(`[${qa}]`),E=m===null?null:Ie(m);a(null),g!==null&&R!==null&&E!==null&&R.contains(E)&&g.focus({preventScroll:!0})},[a]);Xp(()=>{if(f)return u({id:p,onEscape:m=>Yt(m)?(y(),!0):!1})},[f,u,p,y]),Xp(()=>{let m=c.current;if(!f||m===null)return;let g=m.ownerDocument,R=E=>{let D=Qp(m)?.closest(`[${qa}]`);D!=null&&Re(E.target)&&D.contains(E.target)||a(null)};return g.addEventListener("pointerdown",R,!0),()=>g.removeEventListener("pointerdown",R,!0)},[f,a]);let h=Xa((m,g)=>{g?y():a(m)},[y,a]),b=Xa(m=>{let g=c.current;if(g===null)return;let R=AE(g,m,i);if(R.kind==="report"){d();return}let E=R.kind==="trash"?R.button:l.current;if(E===null)throw new Error("[daily-report] the comment section's heading is not attached");E.focus({preventScroll:!0})},[i,l,d]);return e.length===0?null:dt("ul",{ref:c,className:"space-y-2",children:e.map(m=>dt(il,{comment:m,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:h,onBeforeHide:b,resolvedIdMap:s},m.id))})},Zp=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=q(),a=tm(null);return rm(r.comments.length,r.canComment)?ll("div",{[SE]:"",className:DE(e),children:[dt(Je,{ref:a,level:pr[o],tabIndex:-1,[gE]:"",className:EE,children:n.comments}),dt(CE,{...r,headingRef:a}),t]}):null},nm=em(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:s,onDeleteComment:i,pendingDeleteId:l,onPendingDeleteIdChange:d,resolvedIdMap:c})=>{let u=t?dt(_E,{onAddComment:s,pushedToEnd:n==="after-section"}):null,p={comments:a,canComment:t,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:i,pendingDeleteId:l,onPendingDeleteIdChange:d,resolvedIdMap:c,onSectionRemoved:r,className:o};return n==="in-section"?dt(Zp,{...p,children:u}):ll(wE,{children:[dt(Zp,{...p}),u]})});nm.displayName="ReportCommentsView";var co=em(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:s})=>{let{user:i}=Be(),{uiComments:l,handleAddComment:d,handleDeleteComment:c,pendingDeleteId:u,setPendingDeleteId:p,resolvedIdMap:f}=al(e,i,t),y=Xa(async h=>{await d(h),n?.()},[d,n]);return dt(nm,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:s,comments:l,onAddComment:y,onDeleteComment:c,pendingDeleteId:u,onPendingDeleteIdChange:p,resolvedIdMap:f})});co.displayName="ReportComments";var IE="flex gap-2",vE="mt-auto flex gap-2",Jp="content",_E=({onAddComment:e,pushedToEnd:t})=>{let[r,n]=RE(!1),{labels:o}=q();return ll("form",{className:t?vE:IE,onSubmit:async s=>{s.preventDefault();let i=s.currentTarget,l=i.elements.namedItem(Jp);if(!(l instanceof $e(i).HTMLInputElement))return;let d=l.value.trim();if(d&&e){n(!0),i.reset();try{await e(d)}catch{l.value=d}finally{n(!1)}}},children:[dt(Pe,{render:s=>dt("input",{type:"text",name:Jp,tabIndex:s,placeholder:o.commentPlaceholder,className:TE,autoComplete:"off"})}),dt(Pe,{render:s=>dt("button",{type:"submit",tabIndex:s,className:xE,disabled:r,children:o.commentSend})})]})};import{useState as zE}from"react";import{Slot as LE}from"@radix-ui/react-slot";import{cva as NE}from"class-variance-authority";import*as am from"react";import{jsx as kE}from"react/jsx-runtime";var OE=NE(`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 ${ne}`,{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"}}),om=new Map,ME=(e,t,r)=>{let n=`${String(e)}|${String(t)}`,o=om.get(n);if(o!==void 0)return o(r);let a=ve(OE({variant:e,size:t}));return om.set(n,a),a(r)},qt=am.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>kE(n?LE:"button",{className:ME(t,r,e),ref:a,...o}));qt.displayName="Button";import{jsx as HE}from"react/jsx-runtime";var PE=`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 ${Pt} ${ne}`,FE=ve(PE);function sm({className:e,type:t,...r}){return HE("input",{type:t,"data-slot":"input",className:FE(e),...r})}import*as im from"@radix-ui/react-label";import{jsx as VE}from"react/jsx-runtime";var BE="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",UE=ve(BE);function uo({className:e,...t}){return VE(im.Root,{"data-slot":"label",className:UE(e),...t})}import{jsx as $E}from"react/jsx-runtime";var WE=`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 ${Pt} ${ne}`,KE=ve(WE);function lm({className:e,...t}){return $E("textarea",{"data-slot":"textarea",className:KE(e),...t})}import{jsx as ct,jsxs as Qa}from"react/jsx-runtime";var yn=e=>({title:e.subject??"",content:e.content??""}),jE=e=>{e.preventDefault()},Za=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=Be(),{labels:s}=q(),i=ur(),{title:l,content:d}=Mu(e.reportHubId),[c,u]=zE(!1),p=async()=>{u(!0);try{await o(e.reportHubId,{title:l,content:d},e.date)}catch{}finally{u(!1)}},f=async()=>{u(!0);try{await o(e.reportHubId,{title:l,content:d},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{u(!1)}},y=`report-title-${e.reportHubId}`,h=`report-content-${e.reportHubId}`;return Qa("form",{className:"space-y-4 p-1",onSubmit:jE,children:[Qa("div",{className:"space-y-2",children:[ct(uo,{htmlFor:y,children:s.formTitle}),ct(Pe,{render:b=>ct(sm,{ref:n,id:y,value:l,onChange:m=>i.setInput(e.reportHubId,{title:m.target.value}),placeholder:s.formTitlePlaceholder,disabled:c,tabIndex:b})})]}),Qa("div",{className:"space-y-2",children:[ct(uo,{htmlFor:h,children:s.formContent}),ct(Pe,{render:b=>ct(lm,{id:h,value:d,onChange:m=>i.setInput(e.reportHubId,{content:m.target.value}),placeholder:s.formContentPlaceholder,className:"min-h-50",disabled:c,tabIndex:b})})]}),Qa("div",{className:"flex justify-end gap-2",children:[t&&ct(Pe,{render:b=>ct(qt,{type:"button",variant:"outline",onClick:t,disabled:c,tabIndex:b,children:s.formCancel})}),ct(Pe,{render:b=>ct(qt,{type:"button",variant:"secondary",onClick:p,disabled:c,tabIndex:b,children:s.formSave})}),ct(Pe,{render:b=>ct(qt,{type:"button",onClick:f,disabled:c,tabIndex:b,children:s.formPublish})})]})]})};import uD from"lucide-react/dist/esm/icons/check.js";import pD from"lucide-react/dist/esm/icons/pencil.js";import mD from"lucide-react/dist/esm/icons/trash-2.js";import{useContext as um,useMemo as pm,useSyncExternalStore as mm}from"react";import{jsx as Or,jsxs as cm}from"react/jsx-runtime";var YE="inline-grid whitespace-nowrap text-xs leading-4 tabular-nums text-slate-600 dark:text-slate-300",dm="[grid-area:1/1]",GE=e=>{let t=0;for(let r=e;r!==0;r&=r-1)t+=1;return t},qE=({isEditing:e,descriptionId:t})=>{let{entry:r,tally:n,indicator:o}=no(),{labels:a}=q(),s=mm(n.subscribe,n.getSnapshot,n.getSnapshot),{setCount:i,showsMatchedSets:l}=o,d=l?`${a.searchMatchedKeywords(i,i)} ${a.searchMatchOutsideView}`:a.searchMatchOutsideView,c=r===null||r.matchedSets===null?null:GE(r.matchedSets),u=r!==null&&!e&&(c===null||c>=1)&&s.entry===r&&s.isCurrent&&s.fields.length===0,p=l&&c!==null?a.searchMatchedKeywordsDescription(c,i):null,f=pm(()=>Wi(s.fields,a),[s.fields,a]),y=[p,f,u?a.searchMatchOutsideViewDescription:null].filter(h=>h!==null&&h.length>0);return cm("span",{className:YE,"data-daily-report-search-indicator":!0,children:[Or("span",{"aria-hidden":"true",className:`invisible ${dm}`,"data-daily-report-search-indicator-placeholder":!0,children:d}),cm("span",{className:dm,children:[p!==null&&c!==null?Or("span",{"aria-hidden":"true",title:p,"data-daily-report-search-matched-keywords":`${c}/${i}`,children:a.searchMatchedKeywords(c,i)}):null,p!==null&&u?" ":null,u?Or("span",{"aria-hidden":"true",title:a.searchMatchOutsideViewDescription,"data-daily-report-search-outside-view":!0,children:a.searchMatchOutsideView}):null,Or("span",{id:t===null?void 0:t,className:kt,"data-daily-report-search-indicator-description":!0,children:y.join(" ")})]})]})},Ja=({isEditing:e,descriptionId:t})=>um(lt)===null?null:Or(qE,{isEditing:e,descriptionId:t}),XE=({id:e})=>{let{tally:t}=no(),{labels:r}=q(),n=mm(t.subscribe,t.getSnapshot,t.getSnapshot),o=pm(()=>Wi(n.fields,r),[n.fields,r]);return Or("span",{id:e,hidden:!0,"data-daily-report-search-match-description":!0,children:o})},fm=({id:e})=>um(lt)===null?null:Or(XE,{id:e});import{jsx as ym}from"react/jsx-runtime";var ts=24,hm=2,QE=20,es=5,ZE=3,JE=()=>{let e=Math.cos(2*Math.PI/es)/Math.cos(Math.PI/es),t=Array.from({length:2*es},(p,f)=>{let y=-Math.PI/2+f*Math.PI/es,h=f%2===0?1:e;return{x:h*Math.cos(y),y:h*Math.sin(y)}}),r=t.map(p=>p.x),n=t.map(p=>p.y),[o,a,s,i]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],l=(QE-hm)/(a-o),d=ts/2-l*(o+a)/2,c=ts/2-l*(s+i)/2,u=p=>String(Number(p.toFixed(ZE)));return t.map(p=>`${u(d+l*p.x)},${u(c+l*p.y)}`).join(" ")},eD=JE(),hn=({filled:e})=>ym("svg",{viewBox:`0 0 ${ts} ${ts}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:hm,strokeLinejoin:"round",className:e?Oe.starOn:Oe.starOff,children:ym("polygon",{points:eD})});import{Fragment as rD,jsx as rs,jsxs as nD}from"react/jsx-runtime";var tD=ve(id),bn=({config:e,id:t})=>rs("span",{id:t,className:tD(e.badgeClassName),children:e.name===void 0?e.label:nD(rD,{children:[rs("span",{"aria-hidden":"true",children:rs("abbr",{title:e.name,children:e.label})}),rs("span",{className:kt,children:e.name})]})});import{jsx as bm}from"react/jsx-runtime";var ns=24,oD=6,Rn=()=>bm("svg",{viewBox:`0 0 ${ns} ${ns}`,"aria-hidden":"true",className:Oe.read,children:bm("circle",{cx:ns/2,cy:ns/2,r:oD,fill:"currentColor"})});import{jsx as sD}from"react/jsx-runtime";var aD=/^(\d{4}-\d{2}-\d{2})(?:T(\d{2}:\d{2}):\d{2})?$/,Mr=({text:e})=>{let t=aD.exec(e);if(t===null)return e;let[,r,n]=t;return sD("time",{dateTime:e,children:n===void 0?r:`${r} ${n}`})};import{Fragment as cD,jsx as Le,jsxs as dl}from"react/jsx-runtime";var iD=ve("m-0"),Ye=({label:e,classNames:t,valueId:r,children:n})=>dl("div",{className:t.field,children:[Le("dt",{className:t.label,children:e}),Le("dd",{id:r,className:iD(t.value),children:n})]}),lD="mt-2 font-semibold text-slate-600 text-xs uppercase tracking-wide first:mt-0 dark:text-slate-400",dD="m-0 mt-1 text-slate-700 text-sm dark:text-slate-200",mr=({label:e,children:t})=>dl(cD,{children:[Le("dt",{className:lD,children:e}),Le("dd",{className:dD,children:t})]}),Rm=({report:e,visitTimeDisplay:t,labels:r})=>{let n=ar(e.category),o=ar(e.creationCategory);return dl("dl",{className:"m-0 flex flex-col rounded-xl bg-slate-100 p-3 text-slate-600 text-xs dark:bg-slate-800/60 dark:text-slate-300",children:[Le(mr,{label:r.author,children:Le(se,{fieldKey:le.field("author"),raw:e.author,display:Me(e.author)})}),Le(mr,{label:r.createdAt,children:Le(Mr,{text:be(e.createdAt)})}),Le(mr,{label:r.updatedBy,children:Le(se,{fieldKey:le.field("updatedBy"),raw:e.updatedBy,display:Me(e.updatedBy)})}),Le(mr,{label:r.updatedAt,children:Le(Mr,{text:be(e.updatedAt)})}),Le(mr,{label:r.businessDate,children:Le(Mr,{text:be(e.date)})}),t!==null&&Le(mr,{label:r.visitTime,children:t}),n.text.length>0&&Le(mr,{label:r.category,children:Le(se,{fieldKey:le.field("category"),raw:e.category,display:n})}),o.text.length>0&&Le(mr,{label:r.creationCategory,children:Le(se,{fieldKey:le.field("creationCategory"),raw:e.creationCategory,display:o})})]})};import{jsx as de,jsxs as gm}from"react/jsx-runtime";var os={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:""},fD={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:""},Sm={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:""},Em=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:s,editButtonRef:i,onDelete:l,sourceConfig:d,visitTimeDisplay:c,markerIds:u,labels:p})=>{let f=r?p.starRemove:p.starAdd,y=t?p.markUnread:p.markRead,h=ar(e.category),b=ar(e.creationCategory);return gm("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[de(Ln,{id:u.attachments,count:e.attachments.length,label:p.attachments}),d?de(bn,{id:u.source,config:d}):null,de(Pe,{render:m=>de("button",{type:"button",onClick:a,tabIndex:m,className:He,title:f,"aria-label":f,"data-detail-star-button":e.reportHubId,children:de(hn,{filled:r})})}),de(Pe,{render:m=>de("button",{type:"button",onClick:o,tabIndex:m,className:He,title:y,"aria-label":y,"data-detail-read-button":e.reportHubId,children:t?de(uD,{className:Oe.read}):de(Rn,{})})}),s&&de(Pe,{render:m=>de("button",{ref:i,type:"button",onClick:s,tabIndex:m,"data-detail-edit-button":e.reportHubId,className:He,title:p.edit,"aria-label":p.edit,children:de(pD,{className:Oe.edit})})}),n&&de(Pe,{render:m=>de("button",{type:"button",onClick:l,tabIndex:m,"data-detail-delete-button":e.reportHubId,className:He,title:p.deleteReport,"aria-label":p.deleteReport,children:de(mD,{className:Oe.delete})})}),gm("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[de(Ye,{label:p.id,classNames:fD,children:e.reportHubId}),de(Ye,{label:p.businessDate,classNames:os,children:de(Mr,{text:be(e.date)})}),de(Ye,{label:p.author,classNames:os,children:de(se,{fieldKey:le.field("employeeName"),raw:e.employeeName,display:Me(e.employeeName)})}),de(Ye,{label:p.visitTime,classNames:os,children:sr(c)}),de(Ye,{label:p.updatedAt,classNames:os,children:de(Mr,{text:be(e.updatedAt)})}),h.text.length>0&&de(Ye,{label:p.category,classNames:Sm,children:de(se,{fieldKey:le.field("category"),raw:e.category,display:h})}),b.text.length>0&&de(Ye,{label:p.creationCategory,classNames:Sm,children:de(se,{fieldKey:le.field("creationCategory"),raw:e.creationCategory,display:b})})]}),de(Ja,{isEditing:!1,descriptionId:u.searchMatch})]})};import{useCallback as zD,useContext as qm,useLayoutEffect as yl,useRef as Xm}from"react";import{startTransition as kD,useCallback as ce,useLayoutEffect as hr,useMemo as jm,useRef as kr,useState as gn,useSyncExternalStore as PD}from"react";import{flushSync as Ym}from"react-dom";import{useState as yD}from"react";var as=e=>{let[t]=yD(()=>({current:e()}));return t};var Sn=e=>({owner:e,focusIndex:null}),cl=Object.freeze({owner:null,focusIndex:null}),Dm=(e,t)=>{if(e.length===0)return cl;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:It(e,r).reportHubId,index:r},focusIndex:r}},Tm=(e,t)=>{switch(t.kind){case"focusIn":return Sn(t.row);case"focusOut":return t.to==="outside"?cl:Sn(e);case"pointerPress":return t.at==="outside"?cl:Sn(e);case"listChanged":{if(e===null)return Sn(e);let r=Te(t.items,e.reportHubId,e.index);return r===-1?Dm(t.items,e.index):Sn(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?Sn(e):Dm(t.items,t.selection.index)}};var hD=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),ss={capture:!0},is=new WeakMap,bD=e=>{let t=o=>{hD.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,ss),e.removeEventListener("pointerdown",r,ss)}};return e.addEventListener("keydown",t,ss),e.addEventListener("pointerdown",r,ss),n},xm=e=>{let t=is.get(e),r=t===void 0?bD(e):t;t===void 0&&is.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),is.delete(e)))}},Am=e=>{let t=is.get(e);return t===void 0?null:t.last};var ls=e=>e.matches(":focus-visible")&&Am(e.ownerDocument)!=="pointer";var RD="data-daily-report-keyboard-focus",fr={capture:!0},Cm=e=>{let t=xm(e.ownerDocument),r=i=>{e.toggleAttribute(RD,Re(i)&&ls(i))},n=i=>r(i.target),o=i=>{Re(i.relatedTarget)&&e.contains(i.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,fr),e.addEventListener("keydown",n,fr),e.addEventListener("focusout",o,fr),e.addEventListener("pointerdown",a,fr);let s=Ie(e);return r(s!==null&&e.contains(s)?s:null),()=>{e.removeEventListener("focusin",n,fr),e.removeEventListener("keydown",n,fr),e.removeEventListener("focusout",o,fr),e.removeEventListener("pointerdown",a,fr),r(null),t()}};var SD='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',gD=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],ED=gD.map(e=>`[role="${e}"]`).join(", "),DD=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),TD=new Set(["Enter"," "]),xD=new Map([["Home","exitBefore"],["End","exitAfter"]]),ul=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return xD.get(e.key)??null;let r=DD.get(e.key);return r!==void 0?r:TD.has(e.key)&&t.rowActivation?"activate":null},Im=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},vm=(e,t,r)=>{let n=ul(e,r);if(n===null||e.defaultPrevented||wr(e)||t===null||!Re(e.target)||!t.contains(e.target))return null;let o=cr(e.target,t);return o===null?null:n==="activate"?e.target===o?"activate":null:Im(e.target,SD,t)||Im(e.target,ED,t)?null:n};var AD=.875,ds={kind:"stay"},cs=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},_m=e=>Math.floor(AD*e),yr=(e,t)=>({kind:"move",index:e,align:t}),po=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",CD=({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 d=o(l);if(a+=d,a>r)break;i={index:l,top:s},s+=d}return i},ID=({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},vD=(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 ds;if(r==="top")return yr(n-1,"top");let d=i(n-1);return yr(n-1,po(s-d,d,a,-1))}case"next":return n===o-1?ds:r==="top"?yr(n+1,"top"):yr(n+1,po(l,i(n+1),a,1));case"first":return yr(0,"top");case"last":return yr(o-1,i(o-1)<=a?"bottom":"top");case"pageForward":{if(l>a)return{kind:"reveal",delta:Math.min(l-a,_m(a))};if(n===o-1)return ds;let d=CD(t);return yr(d.index,po(d.top,i(d.index),a,1))}case"pageBackward":{if(s<0)return{kind:"reveal",delta:-Math.min(-s,_m(a))};if(n===0)return ds;let d=ID(t);return yr(d.index,po(d.top,i(d.index),a,-1))}}},_D=({index:e,focusedRowTop:t,heightOf:r},n)=>Mm(n,{index:e,offsetPx:-t},r),Nm=(e,t,r,n)=>{let o=r,a=null,s=0;for(let i=0;i<t;i++){let l=vD(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:_D(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}},Om=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>po(r,n(e),t,1),Mm=(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},mo=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let s=cs(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:Mm(t,i,s),heightOf:s}},wm=1,km=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=fo(o,n,t,r);return{start:Math.max(0,o.index-wm),end:Math.min(t-1,a+wm)}},fo=(e,t,r,n)=>{let o=cs(n),a=e.index,s=o(a)-e.offsetPx;for(;s<t&&a<r-1;)a+=1,s+=o(a);return a},Pm=(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,Lm=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),Fm=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(Lm(t,n,o))return t.reportHubId;if(Lm(r,n,o))return r.reportHubId;let a=ye(e,n.visibleStartIndex);return a===void 0?null:a.reportHubId};var ml=1,yo=2,pl=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?ml:0)|(n===t||n===r?yo:0),wD=e=>{if(Wt(e))return!0;let t=Ie(e);return t!==null&&e.contains(t)},LD=(e,t)=>{let r=e.closest(`[${ya}]`);return r!==null&&r!==e&&Ir(r)===t&&Ie(e)===r},Hm={capture:!0},Bm=({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,d=null,c=new Map,u=m=>pl(r,m),p=m=>{let g=l.get(m);if(g===void 0)return;let R=(u(m)&yo)!==0?"0":"-1";g.getAttribute("tabindex")!==R&&g.setAttribute("tabindex",R)},f=()=>{if(n===null)return;let m=n;n=null,p(m)},y=(m,g)=>{f();let R={...r};m(r);let E=r,D=new Set([R.selectedId,R.tabStopId,R.arrivingId,E.selectedId,E.tabStopId,E.arrivingId]);for(let T of D){if(T===null)continue;let _=pl(R,T),I=pl(E,T);if(_===I)continue;((_^I)&yo)!==0&&(T===g?n=T:p(T));let O=i.get(T);if(O!==void 0)for(let M of[...O])M()}},h=m=>{let g=m.ownerDocument,R=n!==null&&!Wt(m);R?g.addEventListener("focusout",f,Hm):f(),a=!0;try{m.focus({preventScroll:!0})}finally{a=!1,R&&g.removeEventListener("focusout",f,Hm),f()}},b=m=>{let g=e();g!==null&&(o=null,wD(g)&&h(m))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:u,setTabStopId:m=>{y(g=>{g.tabStopId=m},null)},settleSelection:(m,g)=>{y(R=>{R.selectedId=m,R.tabStopId=g,R.arrivingId=null},null)},arrive:m=>{y(g=>{g.arrivingId=m},m)},subscribe:(m,g)=>{let R=i.get(m)??new Set;return R.add(g),i.set(m,R),()=>{R.delete(g),R.size===0&&i.get(m)===R&&i.delete(m)}},registerFocusTarget:(m,g)=>{if(l.set(m,g),p(m),o===m){b(g);return}s===null||s.reportHubId!==m||(Wt(g)||LD(g,m))&&h(g)},unregisterFocusTarget:(m,g)=>{l.get(m)===g&&l.delete(m)},requestFocus:m=>{o=m;let g=l.get(m);g!==void 0&&b(g)},cancelFocusRequest:()=>{o=null},pendingFocusId:()=>o,isMovingFocus:()=>a,getFocusOwner:()=>s,setFocusOwner:m=>{s=m},restoreFocus:m=>{if(s===null||s.reportHubId!==m)return;let g=l.get(m);g===void 0||!Wt(g)||h(g)},holdBodiesOutside:m=>{d=m},isBodyHeldAt:m=>d!==null&&(m<d.start||m>d.end),registerHeldBody:(m,g,R)=>{let E={indexHint:g,release:R};return c.set(m,E),()=>{c.get(m)===E&&c.delete(m)}},releaseHeldBodiesWithin:(m,g)=>{if(m!==null)for(let[R,{indexHint:E,release:D}]of[...c]){let T=g(R,E);T>=m.start&&T<=m.end&&D()}}}};var Um=(e,t)=>e.id===t.id&&e.indexHint===t.indexHint,Vm=e=>{let t=new Set,r=e,n=null,o=Object.freeze({selected:r,settled:r}),a=()=>{let u=n===null?r:n;if(!(Um(o.selected,r)&&Um(o.settled,u))){o=Object.freeze({selected:r,settled:u});for(let p of[...t])p()}};return{getSnapshot:()=>o,subscribe:u=>(t.add(u),()=>{t.delete(u)}),select:u=>{r=u,a()},hold:u=>{n=u,a()},release:()=>{n=null,a()}}};var Rt={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}},fl=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),ND=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),Wm=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),OD=new Map(Object.values(Rt).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),Km=e=>{let t=OD.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},MD=(e,t,r)=>e==="row"||e==="page"?t+r:r,$m=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:Km(e)}),zm=(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",Km(r)):(e.pending=MD(e.axis,e.pending,r.amount),fl)}case"frame":{if(e.fence==="open")return fl;if(e.fence==="immediate")return e.fence="flush",ND;if(e.pending===0)return e.fence="open",fl;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?Wm:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return Wm}};var FD=Object.freeze({kind:"frame"}),HD=Object.freeze({kind:"keyup"}),BD=Object.freeze({kind:"cancel"}),UD=Object.freeze({previous:Object.freeze({kind:"repeat",step:Rt.previous}),next:Object.freeze({kind:"repeat",step:Rt.next}),pageBackward:Object.freeze({kind:"repeat",step:Rt.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:Rt.pageForward}),first:Object.freeze({kind:"repeat",step:Rt.first}),last:Object.freeze({kind:"repeat",step:Rt.last}),activate:Object.freeze({kind:"repeat",step:Rt.activate})}),VD=(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}},WD=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),KD=e=>{let t=Ir(e),r=on(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},us=(e,t)=>{let r=ce(a=>e.subscribe(t,a),[e,t]),n=ce(()=>e.rowStateOf(t),[e,t]),o=PD(r,n,n);return{isCurrent:(o&ml)!==0,isTabStop:(o&yo)!==0}},ps=(e,t,r)=>{let[n,o]=gn(()=>!e.isBodyHeldAt(r));return hr(()=>{if(n)return;let a=()=>o(!0),s=e.registerHeldBody(t,r,a);return kD(a),s},[e,t,r,n]),n},$D=e=>e==="first"||e==="last",Gm=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:s,rowSizing:i,arrowAlign:l,rowActivation:d})=>{let[c]=gn(()=>Bm({getContainer:()=>n.current,initialSelectedId:t})),u=as(()=>({items:e,onSelect:r,rowSizing:i,arrowAlign:l,rowActivation:d})),p=kr(null),f=kr(null),[y,h]=gn(null),[b,m]=gn(0),g=kr(null),R=kr(null),[E]=gn(()=>Vm({id:t,indexHint:null})),D=kr(!1),T=kr(null),[_,I]=gn(0),O=jm(()=>({id:t,indexHint:t===null?null:$c(y,t)}),[t,y]),M=kr(O);hr(()=>{u.current={items:e,onSelect:r,rowSizing:i,arrowAlign:l,rowActivation:d},M.current=O},[u,e,r,i,l,d,O]),hr(()=>{E.select(O)},[E,O,b]);let F=ce((v,H)=>{let z=f.current;if(z!==null&&z.items===v&&z.reportHubId===H)return z.index;let S=Te(v,H,z!==null&&z.reportHubId===H?z.index:null);return S!==-1&&(f.current={items:v,reportHubId:H,index:S}),S},[]),Y=ce((v,H)=>{f.current={items:u.current.items,reportHubId:v,index:H},h(z=>z!==null&&z.reportHubId===v&&z.index===H?z:{reportHubId:v,index:H}),m(z=>z+1),E.select({id:v,indexHint:H})},[u,E]),V=ce(v=>{let H=c.getFocusOwner();if(H===null)return null;let z=Te(v,H.reportHubId,H.index);return z===-1?null:{reportHubId:H.reportHubId,index:z}},[c]),w=ce(v=>{let H=u.current.items,z=v===null?null:{reportHubId:v,index:F(H,v)};return Fm(H,V(H),z,p.current,T.current)},[u,F,V]),P=ce(()=>{c.setTabStopId(w(c.getSelectedId()))},[c,w]),j=ce(v=>{let H=c.getFocusOwner();H===v||H!==null&&v!==null&&H.reportHubId===v.reportHubId&&H.index===v.index||(c.setFocusOwner(v),D.current||P())},[c,P]),B=ce(v=>{let H=Tm(c.getFocusOwner(),v);j(H.owner),H.focusIndex!==null&&(g.current=H.focusIndex,c.requestFocus(H.owner.reportHubId))},[c,j]);hr(()=>{c.settleSelection(t,w(t))},[c,t,e,_,w]),hr(()=>{let v=o.current;if(v!==null)return Cm(v)},[o]),hr(()=>{let v=n.current;if(v===null)return;let H=v.ownerDocument,z=S=>{let C=n.current,K=S.target;B({kind:"pointerPress",at:C!==null&&Re(K)&&C.contains(K)?"inside":"outside"})};return H.addEventListener("pointerdown",z,{capture:!0}),()=>H.removeEventListener("pointerdown",z,{capture:!0})},[n,B]),hr(()=>{let v=c.pendingFocusId();v!==null&&Te(e,v,g.current)===-1&&c.cancelFocusRequest(),B({kind:"listChanged",items:e})},[c,e,B]);let Z=ce(v=>{B({kind:"removed",reportHubId:v,selection:f.current,items:u.current.items})},[u,B]),$=ce((v,H,z,S)=>{let{items:C,onSelect:K,rowSizing:N,arrowAlign:X}=u.current,L=a.current;if(K===null||L===null)return null;let A=Te(C,z.reportHubId,z.index);if(A===-1)return null;let k=mo(L,A,C.length,N);if(k===null)return null;let W=Nm(v,H,k,X),re=It(C,W.index),Ee=W.index!==A,pt=Ee||S&&$D(v)&&M.current.id!==re.reportHubId;if(Ee){c.arrive(re.reportHubId),T.current=re.reportHubId,g.current=W.index,D.current=!0;try{c.requestFocus(re.reportHubId)}finally{D.current=!1}}try{Ym(()=>{pt&&(c.pendingFocusId()===null&&c.settleSelection(re.reportHubId,re.reportHubId),K(re.reportHubId,W.index)),W.alignment!==null&&s.toIndex(W.alignment.index,{align:W.alignment.align}),W.scrollDelta!==0&&s.by(W.scrollDelta),pt&&(Y(re.reportHubId,W.index),I(Wr=>Wr+1));let Mt=km(L,C.length,N);c.holdBodiesOutside(Mt),c.releaseHeldBodiesWithin(Mt,(Wr,Oy)=>Te(C,Wr,Oy))})}finally{c.holdBodiesOutside(null)}return Ee?{reportHubId:re.reportHubId,index:W.index}:{reportHubId:z.reportHubId,index:A}},[c,u,a,s,Y]),G=ce(v=>{let{items:H,onSelect:z}=u.current;if(z===null)return;let S=Te(H,v.reportHubId,v.index);S!==-1&&(z(v.reportHubId,S),Y(v.reportHubId,S))},[u,Y]),ue=ce(v=>{let H=n.current,z=H===null?null:Ie(H),S=H!==null&&z!==null&&H.contains(z)?zn(cr(z,H),u.current.items):null;return S===null?v.origin:S},[u,n]),pe=ce((v,H)=>{let z=ue(v);if(H.axis==="activate"){G(z);return}let S=VD(H.axis,H.amount),C=$(S.command,S.count,z,!1);C!==null&&(v.origin=C)},[ue,G,$]),We=ce(v=>{R.current=null,v.frame!==0&&v.view.cancelAnimationFrame(v.frame),E.release()},[E]),je=ce((v,H,z)=>{let{apply:S}=H;S!==null&&(H.flush?Ym(()=>pe(v,S)):pe(v,S)),R.current===v&&(H.ended?We(v):H.requestFrame&&(v.frame=v.view.requestAnimationFrame(z)))},[pe,We]),me=ce((v,H,z)=>{je(v,zm(v.state,H),z)},[je]),ie=ce(()=>{let v=R.current;v!==null&&(v.frame=0,me(v,FD,ie))},[me]),Ne=ce(()=>{let v=R.current;v!==null&&me(v,HD,ie)},[me,ie]),qe=ce(()=>{let v=R.current;v!==null&&me(v,BD,ie)},[me,ie]),ut=ce((v,H,z)=>{E.hold(M.current);let{state:S,effects:C}=$m(Rt[v]),K={state:S,origin:H,view:z,frame:0};R.current=K,je(K,C,ie)},[E,je,ie]);hr(()=>()=>{let v=R.current;R.current=null,v!==null&&v.frame!==0&&v.view.cancelAnimationFrame(v.frame)},[]);let Dt=ce(v=>{let H=R.current,z=H!==null&&v.repeat?ul(v,u.current):null;if(H!==null&&z!==null&&z!=="exitBefore"&&z!=="exitAfter"&&Rt[z].axis===H.state.axis){v.preventDefault(),me(H,UD[z],ie);return}let{items:S,onSelect:C,rowSizing:K,rowActivation:N}=u.current,X=n.current,L=C===null?null:vm(un(v),X,{rowActivation:N});if(c.cancelFocusRequest(),Ne(),L===null||X===null)return;if(L==="exitBefore"||L==="exitAfter"){let W=Rp(X,L==="exitBefore"?"before":"after");if(W===null)return;v.preventDefault(),W.focus();return}let A=Ie(X),k=zn(cr(A!==null&&X.contains(A)?A:v.target,X),S);if(k!==null){if(L!=="activate"){let W=a.current;if(W===null||mo(W,k.index,S.length,K)===null)return}if(v.preventDefault(),v.repeat){ut(L,k,$e(X));return}L==="activate"?G(k):$(L,1,k,!0)}},[c,u,n,a,ie,me,Ne,ut,G,$]),Tt=ce(()=>{Ne()},[Ne]),Ae=ce(v=>{let H=n.current,z=v.target,S=cr(z,H);if(B({kind:"focusIn",row:S===null?null:KD(S)}),c.isMovingFocus())return;let C=a.current;if(H===null||C===null||!Re(z)||!ls(z))return;let K=S===null?null:S.closest('[role="list"]');if(S===null||K===null)return;let N=K.getBoundingClientRect(),X=S.getBoundingClientRect(),L=X.height<=N.height?X:WD(z.getBoundingClientRect(),rr),A=Pm(L,N),k=C.getViewportSize();A===0||!(k>0&&N.height>0)||s.by(A*k/N.height)},[c,n,a,s,B]),_e=ce(v=>{let H=n.current,z=v.relatedTarget,S=Re(z)?H?.contains(z)?"view":"outside":"nowhere";S!=="view"&&qe(),B({kind:"focusOut",to:S})},[n,qe,B]),ge=ce(()=>{c.cancelFocusRequest(),qe()},[c,qe]),Xe=ce(v=>{p.current={visibleStartIndex:v.visibleStartIndex,visibleEndIndex:v.visibleEndIndex},T.current=null,P()},[P]),tt=jm(()=>({onKeyDown:Dt,onKeyUp:Tt,onPointerDownCapture:ge,onWheelCapture:ge,onTouchStartCapture:ge,onFocus:Ae,onBlur:_e}),[Dt,Tt,ge,Ae,_e]);return{cursor:c,containerProps:tt,handleRangeChange:Xe,selection:O,selectionStore:E,resolveSelectedIndex:F,rememberSelection:Y,focusAfterRemoval:Z}};import{jsx as hl}from"react/jsx-runtime";var jD=x(or,_o,wo,vo,"h-full"),YD="h-full w-full",Qm=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:s})=>{let{isCurrent:i,isTabStop:l}=us(a,e),d=qm(zt),c=qm($t),u=ps(a,e,d),p=Xm(null),f=Xm(null),y=zD(h=>(p.current=h,a.registerFocusTarget(e,h),()=>{p.current=null,a.unregisterFocusTarget(e,h)}),[a,e]);return yl(()=>{let h=p.current,b=h===null||!u?null:h.firstElementChild,m=b instanceof HTMLElement?b:null,g=f.current;g!==null&&g.body===m||(g!==null&&g.stop(),f.current=m===null?null:{body:m,stop:o(m)})}),yl(()=>()=>{f.current?.stop(),f.current=null},[]),yl(()=>{a.restoreFocus(e)},[a,e,n]),hl(so.Provider,{value:l,children:hl("div",{ref:y,className:jD,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":d+1,"aria-setsize":c,"aria-labelledby":u&&t.kind==="card"?t.ids.heading:void 0,"aria-describedby":u&&t.kind==="card"?t.describedBy:void 0,"aria-label":t.kind==="label"?t.label:void 0,"aria-busy":r||!u?!0:void 0,"aria-current":i?"true":void 0,children:u?s:hl("div",{...Qe,className:YD})})})};import{jsx as J,jsxs as Ve}from"react/jsx-runtime";var QD=x("flex w-full flex-col gap-4",xt,Oo,nr),ZD=x(xt,nr),JD=x("rounded-2xl",nr),eT=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",nr),Ue="bg-slate-200 dark:bg-slate-700",tT=x("whitespace-pre-wrap",No),rT=x(Ke,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),nT=({interviewer:e,index:t,template:r})=>{let n=Pr(()=>Me(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=rp(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"))},oT=Ve("div",{...Qe,className:ZD,children:[Ve("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)})]}),Ve("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[Ve("div",{className:"space-y-4",children:[J("div",{className: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)})]}),Ve("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)})]})]}),Ve("div",{className:"space-y-4",children:[J("div",{className:x("h-4 w-24 rounded",Ue)}),Ve("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)})]}),Ve("div",{className:"space-y-2",children:[J("div",{className:x("h-16 rounded-xl",Ue)}),J("div",{className:x("h-16 rounded-xl",Ue)})]})]})]}),aT=()=>oT,sT=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:s,isLoading:i,isRefetching:l}=Ar(e.reportHubId,e.businessDate),{removeStaleItem:d}=Be(),{sourceTypeConfigs:c}=q(),u=ur(),p=Ma(e.reportHubId),f=p==="editing"||p==="automatic",y=bl(!1),h=bl(!1),b=bl(!1);Zm(()=>{if(l){b.current=!0;return}!(a||i||s)&&b.current&&e.reportHubId>0&&d(e.reportHubId)},[a,i,l,s,e.reportHubId,d]);let m=a?.isDraft===!0,g=n&&a?.userId===n,R=Pr(()=>a===null?void 0:()=>{y.current=!0,u.open(e.reportHubId,yn(a),!1)},[u,e.reportHubId,a]),E=En(()=>{h.current=!0,u.dismiss(e.reportHubId)},[u,e.reportHubId]),D=En(()=>{h.current=!0,u.discard(e.reportHubId)},[u,e.reportHubId]),T=En(Z=>{Z===null||!y.current||(y.current=!1,Z.focus())},[]),_=En(Z=>{Z===null||!h.current||(h.current=!1,Z.focus())},[]);XD(()=>{f||(h.current=!1)},[f]),Zm(()=>{a!==null&&(g&&m&&p==="display"?u.open(e.reportHubId,yn(a),!0):!m&&p==="automatic"&&u.discard(e.reportHubId))},[a,g,m,p,u,e.reportHubId]);let I=En(()=>o.requestFocus(e.reportHubId),[o,e.reportHubId]),O=qD(),M=Pr(()=>({heading:`${O}-heading`,state:`${O}-state`,attachments:`${O}-attachments`,source:`${O}-source`,searchMatch:`${O}-search-match`}),[O]),F=a!==null&&a.attachments.length>0,Y=GD(lt)!==null,V=a===null?void 0:Vt(a.sourceType,c),w=[M.state,...F?[M.attachments]:[],...V!==void 0?[M.source]:[],...Y?[M.searchMatch]:[]].join(" "),P=!s&&a!==null&&!f?{kind:"card",ids:M,describedBy:w}:{kind:"label",label:be(e.businessDate)},j=!s&&a===null&&i,B=s?"error":a===null?i?"loading":"missing":f?"editing":"resolved";return J(Qm,{itemId:e.reportHubId,name:P,isBusy:j,bodyKind:B,observeRowHeight:t,cursor:o,children:s?J(iT,{itemId:e.reportHubId}):a?f?J("div",{...Qe,className:JD,children:J(Za,{report:a,onCancel:E,onPublishSuccess:D,titleInputRef:T})}):J(tf,{item:e,report:a,sourceConfig:V,textIds:M,onCommentAdded:r,userId:n,onEdit:g?R:void 0,editButtonRef:_,onCommentSectionRemoved:I}):J(aT,{})})},ef=Jm(sT),tf=Jm(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:s,editButtonRef:i,onCommentSectionRemoved:l})=>{let{toggleStar:d,toggleRead:c,pendingStarUpdates:u,pendingReadUpdates:p,deleteReport:f}=Be(),{labels:y,headingLevel:h}=q(),b=pr[h],m=Yo(t.sourceType,r),g=En(()=>o?.(e.reportHubId),[o,e.reportHubId]),R=u.current.get(t.reportHubId),E=R===void 0?t.isStarred:R,D=p.current.get(t.reportHubId),T=D===void 0?t.isRead:D,_=!!(a&&t.userId===a),I=async()=>{try{await c(t.reportHubId,!T,t.date)}catch{}},O=async()=>{try{await d(t.reportHubId,!E,t.date)}catch{}},M=async()=>{if(confirm(y.confirmDelete))try{await f(t.reportHubId,t.date)}catch{}},F=Pr(()=>Bd(t.content??null),[t.content]),Y=Pr(()=>Me(t.customerName),[t.customerName]),V=Pr(()=>Me(t.subject),[t.subject]),w=Pr(()=>{let P=t.visitTimeFrom?.trim(),j=t.visitTimeTo?.trim();return P&&j?`${P} - ${j}`:P||j||null},[t.visitTimeFrom,t.visitTimeTo]);return J("div",{...Qe,onDoubleClick:s,className:QD,children:Ve(pn,{reportHubId:e.reportHubId,children:[J(Je,{level:h,id:n.heading,className:kt,children:`${be(t.date)} ${sr(t.employeeName)} ${sr(t.subject)}`}),J("span",{id:n.state,className:kt,children:y.rowState({isRead:T,isStarred:E})}),J(Em,{report:t,sourceConfig:r,isRead:T,isStarred:E,isMine:_,onToggleRead:I,onToggleStar:O,onEdit:s,editButtonRef:i,onDelete:M,visitTimeDisplay:w,markerIds:n,labels:y}),Ve("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[Ve("div",{className:"flex flex-col gap-4",children:[Ve("div",{className:"grid gap-4 sm:grid-cols-2",children:[Ve("div",{className:"flex flex-col gap-1",children:[J(Je,{level:b,className:Ft,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:Y})})]}),Ve("div",{className:"flex flex-col gap-1",children:[J(Je,{level:b,className:Ft,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:V})})]})]}),F.text.length>0&&Ve("div",{className:"flex flex-col gap-2",children:[J(Je,{level:b,className:Ft,children:y.content}),J("div",{className:tT,children:J(se,{fieldKey:le.field("content"),raw:t.content,display:F})})]}),t.interviewers.length>0&&Ve("div",{className:"flex flex-col gap-2",children:[J(Je,{level:b,className:Ft,children:y.interviewers}),J("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map((P,j)=>J("li",{className:rT,children:J(nT,{interviewer:P,index:j,template:y.interviewerWithAffiliation})},JSON.stringify([P.name,P.affiliation])))})]}),J(ja,{attachments:t.attachments}),J(co,{report:t,userId:a,canComment:m,onCommentAdded:g,onSectionRemoved:l,formPlacement:"after-section"})]}),J(Rm,{report:t,visitTimeDisplay:w,labels:y})]})]})})});tf.displayName="DailyReportResolvedItem";var iT=({itemId:e})=>{let{labels:t}=q();return J("div",{...Qe,className:eT,children:J("p",{children:t.reportLoadFailed(e)})})};import{useCallback as cf,useId as RT,useMemo as uf,useRef as ST}from"react";import{createContext as lT,useContext as dT,useLayoutEffect as cT}from"react";var rf=()=>{let e=!1;return{request:()=>{e=!0},isPending:()=>e,take:()=>{let t=e;return e=!1,t}}},Rl=lT(null),nf=(e,t)=>{let r=dT(Rl);cT(()=>{let n=e.current;if(r===null||!r.isPending()||n===null)return;let o=ha(n);o===null&&!t||(r.take(),Wt(n)&&vt([o===null?Ai(n.ownerDocument):o]))})};import{useCallback as of,useLayoutEffect as af,useMemo as sf,useRef as Sl}from"react";var uT=(e,t,r,n)=>{for(let o=r;o<=n;o++){let a=ye(e,o);if(a===void 0||a.reportHubId!==ye(t,o)?.reportHubId)return!0}return!1},pT=(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}},mT=(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}},fT=(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"?pT(e.index,a,n.rowHeight,r.length):mT(e.index,a,cs(n),r.length);return{reportHubId:It(r,s).reportHubId,index:s,offsetPx:i,lastVisibleIndex:fo({index:s,offsetPx:i},o,r.length,n),recordedAt:t}},yT=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=Te(t,It(e,n).reportHubId,n-1);if(o!==-1)return o}return-1},lf=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=Sl(null),a=Sl(e),s=Sl(r),i=of(()=>{let c=t.current,u=c===null?-1:c.getScrollPosition(),p=c===null||!(u>0)?null:c.getScrollAnchor(),f=a.current,y=p===null?void 0:ye(f,p.index),h=c===null?0:c.getViewportSize();o.current=p===null||y===void 0||!(h>0)?null:{reportHubId:y.reportHubId,index:p.index,offsetPx:p.offsetPx,lastVisibleIndex:fo(p,h,f.length,s.current),recordedAt:u}},[t]),l=sf(()=>({toIndex:(c,u)=>{let p=t.current;p!==null&&(p.scrollToIndex(c,u),i())},by:c=>{let u=t.current;u!==null&&(u.scrollBy(c),i())},resizeRow:(c,u)=>{let p=t.current;p!==null&&(p.updateItemSize(c,u),i())}}),[t,i]);af(()=>{let c=a.current;a.current=e;let u=o.current,p=t.current;if(c===e||u===null||p===null||n())return;let f=fT(u,p.getScrollPosition(),c,s.current,p.getViewportSize());if(f===null){o.current=null;return}let y=Te(e,f.reportHubId,f.index),h=y===-1?yT(c,e,f):y;if(h===-1){o.current=null;return}if(h===f.index&&!uT(c,e,f.index,f.lastVisibleIndex)){o.current=f;return}p.scrollToIndex(h,{align:"top",offset:-f.offsetPx}),o.current={reportHubId:It(e,h).reportHubId,index:h,offsetPx:f.offsetPx,lastVisibleIndex:fo({index:h,offsetPx:f.offsetPx},p.getViewportSize(),e.length,r),recordedAt:p.getScrollPosition()}},[e,t,r,n]),af(()=>{s.current=r},[r]);let d=of(c=>{if(c.cause!=="clamp"){i();return}let u=o.current;u!==null&&(o.current={...u,recordedAt:u.recordedAt+c.delta})},[i]);return sf(()=>({handleRangeChange:i,handleScrollAdjust:d,scroller:l}),[i,d,l])};import{useCallback as hT}from"react";var bT=20,df=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>hT(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=>it(o.current,l),getReportItem:l=>ye(o.current,l),getReportIds:(l=bT)=>zc(o.current,l),revealIndex:(l,d)=>n.toIndex(l,d)}}}),()=>{s!==null&&delete s.__virtualScroll,t.current=null}},[e,t,r,n,o]);import{jsx as gT}from"react/jsx-runtime";var ms=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let s=ST(null),i=cf(E=>(s.current=E,()=>{s.current=null}),[]),{handleRangeChange:l,handleScrollAdjust:d,scroller:c}=lf({items:a.items,handleRef:s,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:u,...p}=Gm({...a,containerRef:e,handleRef:s,scroller:c}),f=df({hostTestId:t,scrollContainerRef:e,handleRef:s,scroller:c,itemsRef:r});nf(e,a.items.length===0);let{labels:y}=q(),h=RT(),b=a.onSelect!==null,m=cf(E=>{u(E),l(),o(E)},[u,l,o]),g=uf(()=>({role:"list","aria-label":y.title,"aria-describedby":b?h:void 0}),[y.title,b,h]),R=uf(()=>b?gT("span",{id:h,className:"sr-only",children:y.listKeyboardHelp}):null,[b,h,y.listKeyboardHelp]);return{...p,handleRangeChange:m,handleScrollAdjust:d,attachVirtualScroll:i,handleRef:s,scroller:c,attachScrollContainer:f,contentProps:g,keyboardHelp:R}};import{Fragment as _T,jsx as Xt,jsxs as vT}from"react/jsx-runtime";var mf={pointerDragInputs:ra,wheelSpeedMultiplier:Xo,inertiaOptions:an(!1),enableKeyboardNavigation:!1},TT={...mf,inertiaOptions:an(!0)},pf="daily-report-detail-list",xT=x("relative w-full",Bo,Ho),AT=x(rt,"relative"),CT=300,El=e=>{let t=ze(null),[r,n]=fs(null),o=ca(t),a=sn(r),s=Fe(i=>(t.current=i,n(i),()=>{t.current=null,n(null)}),[]);return Xt("div",{ref:s,className:Po,children:Xt("div",{className:Fo,children:o===null?null:Xt(IT,{...e,viewportHeight:o,reducedMotion:a})})})},IT=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:s,reducedMotion:i})=>{let[{initialScrollAnchor:l,restored:d}]=fs(()=>{let A=a?.current;if(!A||A.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!A.topItem)return{initialScrollAnchor:void 0,restored:!0};let k=it(e,A.topItem.reportHubId);return k!==-1?{initialScrollAnchor:{index:k,offsetPx:A.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:A.topItem.index,offsetPx:0},restored:!0}}),c=ze(d),u=ze(n??null),p=ze(a?.current.measuredHeights??new Map),f=ze(null),y=ia(),h=ti(),[b]=fs(ba),m=ze(null),g=ze(null),R=ze(e),E=ze(o);DT(()=>{R.current=e,E.current=o},[e,o]);let D=ze(null),[T,_]=fs(0),I=ze(null),O=e.length,M=t===void 0?O:t,F=Fe(A=>{let k=ye(e,A);return k===void 0?Zo:k},[e]),Y=Fe(A=>{let k=p.current.get(F(A).reportHubId);return k===void 0?mc:k},[F]),V=Fe(A=>F(A).reportHubId,[F]),w=gl(()=>({kind:"measured",heightOf:Y}),[Y]),P=Fe((A,k)=>{D.current={reportHubId:A,index:k},_(W=>W+1),E.current?.(A)},[]),j=Fe((A,k)=>{if(O===0)return;let W=Math.max(0,A),re=Math.min(O-1,k);if(W>re)return;let Ee=new Set;for(let pt=W;pt<=re;pt++){let Mt=F(pt);if(Mt.businessDate&&Ee.add(Mt.businessDate),Ee.size>=cc)break}Ee.forEach(pt=>{h(pt)})},[F,O,h]),B=ze(null),Z=Fe(()=>B.current,[]),$=Fe(A=>{if(O===0)return;let{renderingStartIndex:k,renderingEndIndex:W,visibleStartIndex:re}=A,Ee=F(re);Ee.reportHubId>0&&(B.current=Ee.reportHubId),Ee.businessDate&&b.setLabel(be(Ee.businessDate)),j(k,W),j(W+1,W+Qo),j(k-Qo,k-1)},[F,O,j,b]),G=Fe(()=>I.current!==null,[]),{cursor:ue,containerProps:pe,handleRangeChange:We,handleScrollAdjust:je,attachVirtualScroll:me,handleRef:ie,scroller:Ne,attachScrollContainer:qe,contentProps:ut,keyboardHelp:Dt,resolveSelectedIndex:Tt,rememberSelection:Ae}=ms({items:e,selectedId:n??null,onSelect:o===void 0?null:P,containerRef:f,rootRef:f,testId:pf,itemsRef:R,rowSizing:w,arrowAlign:"top",rowActivation:!0,isViewRevealPending:G,onRangeChange:$});Sa({items:e,scroller:Ne,readTopReportId:Z});let _e=Fe((A,k)=>{if(ie.current===null)return!1;let W=R.current,re=k!==null&&k.reportHubId===A?Te(W,A,k.index):Tt(W,A);return re===-1?!1:(c.current&&(c.current=!1,A===u.current)||k!==null&&k.reportHubId===A&&k.index===re||Ne.toIndex(re,{align:"top"}),!0)},[ie,Tt,Ne]);br(()=>{let A=D.current;D.current=null,I.current=null,n!=null&&(_e(n,A)||(I.current=n))},[n,_e]),br(()=>{let A=I.current;A!==null&&_e(A,null)&&(I.current=null)},[e,_e]),br(()=>{let A=a?.current;A&&(A.anchorReportHubId=n??null)},[n,a]),br(()=>{D.current=null},[T]);let ge=ze(null),Xe=Fe(()=>{ie.current&&(ge.current=ie.current);let A=a?.current,k=ge.current;if(A&&k){let re=k.getScrollAnchor(),Ee=re===null?void 0:ye(R.current,re.index);re&&Ee&&(A.topItem={reportHubId:Ee.reportHubId,index:re.index,offsetPx:re.offsetPx})}let W=f.current;W&&(W.toggleAttribute(Kr,!0),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{W.toggleAttribute(Kr,!1),g.current=null},150))},[ie,a]),tt=Fe(A=>Xt(Ra,{...A,store:b}),[b]);br(()=>{let A=f.current;if(!A)return;let k=()=>{b.setWheelScrollActive(!0),m.current&&clearTimeout(m.current),m.current=window.setTimeout(()=>{b.setWheelScrollActive(!1),m.current=null},Jo)};return A.addEventListener("wheel",k,{passive:!0}),()=>{A.removeEventListener("wheel",k),m.current&&clearTimeout(m.current)}},[b]);let v=ze(null),H=Fe(A=>{for(let k of A){let W=k.target.parentElement,re=W===null?null:Ir(W),Ee=W===null?null:on(W),pt=k.borderBoxSize[0];if(re===null||Ee===null||pt===void 0)continue;let Mt=pt.blockSize+2*rr;if(p.current.get(re)===Mt)continue;let Wr=Te(R.current,re,Ee-1);Wr!==-1&&(p.current.set(re,Mt),Ne.resizeRow(Wr,Mt))}},[Ne]),z=Fe(A=>{v.current===null&&(v.current=new ResizeObserver(H));let k=v.current;return k.observe(A),()=>k.unobserve(A)},[H]);br(()=>()=>{v.current?.disconnect(),v.current=null},[]),br(()=>{O!==0&&j(0,Math.min(O-1,Qo))},[O,j]);let S=ze(null),C=Fe(A=>{let k=Te(R.current,A,null);k!==-1&&(S.current!==null&&clearTimeout(S.current),S.current=setTimeout(()=>{S.current=null;let W=Te(R.current,A,k);W!==-1&&Ne.toIndex(W,{align:"bottom"})},CT))},[Ne]);br(()=>()=>{S.current!==null&&clearTimeout(S.current)},[]);let K=Fe(A=>{if(!E.current)return;let k=cr(A.target,f.current);if(k===null||Gc(A.target,k))return;let W=zn(k,R.current);W!==null&&(Ae(W.reportHubId,W.index),P(W.reportHubId,W.index))},[P,Ae]),N=Fe((A,k)=>Xt(zt.Provider,{value:k,children:Xt(ef,{item:A,observeRowHeight:z,onCommentAdded:C,userId:r,cursor:ue})},A.reportHubId),[z,C,r,ue]),X=gl(()=>({...ta,renderThumbOverlay:tt}),[tt]),L=gl(()=>Xt($t.Provider,{value:M,children:Xt(ET,{ref:me,itemCount:O,getItem:F,getItemKey:V,getItemHeight:Y,viewportSize:s,initialScrollAnchor:l,overscanCount:ea,scrollBarOptions:X,behaviorOptions:i?TT:mf,onRangeChange:We,onScrollAdjust:je,onScroll:Xe,testId:pf,className:xT,locale:y.locale,labels:y.labels,contentProps:ut,children:N})}),[me,M,O,F,V,Y,s,i,l,X,We,je,Xe,y.locale,y.labels,ut,N]);return Xt(_T,{children:vT("div",{ref:qe,className:AT,...pe,onClick:K,children:[Dt,L]})})};import yf from"lucide-react/dist/esm/icons/refresh-cw.js";import{createContext as LT,useContext as NT,useLayoutEffect as OT,useRef as MT}from"react";import{jsx as ff,jsxs as wT}from"react/jsx-runtime";var ho=e=>10**String(e).length-1,ys=({text:e,widestText:t,ref:r})=>wT("span",{ref:r,className:Td,children:[ff("span",{"aria-hidden":"true",className:xd,children:t}),ff("span",{className:Ad,children:e})]});import{jsx as Fr,jsxs as hs}from"react/jsx-runtime";var Dl=LT(!0),kT=`inline-flex rounded-full empty:not-focus:hidden ${ne}`,PT=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"),FT=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"),HT=x(Ke,"gap-1 bg-rose-100 font-medium text-rose-800 text-xs dark:bg-rose-900/40 dark:text-rose-300"),BT=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",ne),UT=(e,t,r)=>{if(r===null||r===0)return{text:e.streamProgressCount(t),widestText:e.streamProgressCount(ho(t))};let n=ho(Math.max(t,r));return{text:e.streamProgressRatio(t,r,Math.min(100,Math.round(t/r*100))),widestText:e.streamProgressRatio(n,n,100)}},VT=({labels:e,loadedCount:t,totalCount:r})=>{let{text:n,widestText:o}=UT(e,t,r);return hs("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:PT,children:[Fr("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-blue-500 dark:bg-blue-400"}),Fr(ys,{text:n,widestText:o})]})},WT=(e,t,r,n)=>e.phase==="streaming"?Fr(VT,{labels:t,loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?hs("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:FT,children:[Fr(yf,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?hs("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:HT,children:[t.streamFailed,Fr("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:n,className:BT,children:t.streamRetry})]}):e.isRevalidating?hs("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:[Fr(yf,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null,bo=()=>{let e=Du(),{labels:t}=q(),r=NT(Dl),n=MT(null),a=WT(e,t,r,()=>{vt([n.current]),_a()}),s=a===null;return OT(()=>{let i=n.current;!s||i===null||!i.contains(Ie(i))||vt(ka(i.ownerDocument))},[s]),Fr("span",{ref:n,tabIndex:-1,"data-daily-report-stream-status":"",className:kT,children:a})};import{Panel as Ff,PanelGroup as fA,PanelResizeHandle as yA}from"@aiquants/resize-panels";import{VirtualScroll as hA}from"@aiquants/virtualscroll";import{useCallback as gt,useEffect as Ds,useLayoutEffect as Ml,useMemo as Ol,useRef as Ur,useState as xs}from"react";import{useSyncExternalStore as KT}from"react";var hf="(max-width: 639px)",$T=()=>{},zT=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return $T;let t=window.matchMedia(hf);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},jT=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(hf).matches:!1,YT=()=>!1,bf=()=>KT(zT,jT,YT);import{SwipeCloseGuardContext as Sx,useOverlayEscapeStack as gx,useSwipeGuardState as Ex,useSwipeToDismissOverlay as Dx,useTapClick as Tx,useTransitionDisplay as xx}from"@aiquants/swipe-overlay";import{useCallback as Ss,useEffect as xn,useId as _l,useLayoutEffect as wl,useRef as St,useState as gs}from"react";import{useMemo as GT}from"react";var Ro=(e,t)=>{let{id:r,indexHint:n}=t;return GT(()=>{if(r===null)return null;let o=Te(e,r,n);return o===-1?null:It(e,o)},[e,r,n])};import qT from"lucide-react/dist/esm/icons/check.js";import XT from"lucide-react/dist/esm/icons/pencil.js";import QT from"lucide-react/dist/esm/icons/trash-2.js";import{memo as ZT,useCallback as Hr,useDeferredValue as JT,useEffect as Al,useId as gf,useLayoutEffect as Cl,useMemo as To,useRef as Do,useState as Ef,useSyncExternalStore as ex}from"react";import*as Qt from"@radix-ui/react-tabs";import*as et from"react";import{jsx as Dn}from"react/jsx-runtime";var Rf=et.createContext(null),Sf=e=>{let t=et.useContext(Rf);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},Tl=(e,t)=>`${e}-trigger-${t}`,xl=(e,t)=>`${e}-panel-${t}`,So=et.forwardRef(({value:e,children:t,...r},n)=>{let o=et.useId(),a=et.useMemo(()=>({baseId:o,value:e}),[o,e]);return Dn(Qt.Root,{ref:n,value:e,...r,children:Dn(Rf,{value:a,children:t})})});So.displayName=Qt.Root.displayName;var go=et.forwardRef(({className:e,...t},r)=>Dn(Qt.List,{ref:r,className:x("inline-flex",e),...t}));go.displayName=Qt.List.displayName;var Eo=et.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=Sf("TabsTrigger");return Dn(Qt.Trigger,{ref:n,value:t,...r,id:Tl(o,t),"aria-controls":xl(o,t),className:x(`${fd} ${ne}`,e)})});Eo.displayName=Qt.Trigger.displayName;var Tn=et.forwardRef(({className:e,value:t,tabStop:r,children:n,...o},a)=>{let{baseId:s,value:i}=Sf("TabsContent"),l=t===i,d="mt-2 data-[state=inactive]:hidden";return r?Dn("div",{ref:a,role:"tabpanel",id:xl(s,t),"aria-labelledby":Tl(s,t),"data-state":l?"active":"inactive",hidden:!l,tabIndex:0,...o,className:x(`${d} ${ne}`,e),children:l?n:null}):Dn("div",{ref:a,role:"tabpanel",id:xl(s,t),"aria-labelledby":Tl(s,t),"data-state":l?"active":"inactive",hidden:!l,...o,className:x(d,e),children:l?n:null})});Tn.displayName="TabsContent";import{jsx as Q,jsxs as Zt}from"react/jsx-runtime";var xf=x(gr,"w-24 shrink-0"),Df={field:"flex items-baseline",label:xf,value:"flex-1"},tx={field:"flex min-w-0 flex-1 items-baseline",label:xf,value:"wrap-break-word min-w-0 flex-1"},rx={field:"flex flex-col gap-1",label:gr,value:""},nx={field:"flex min-w-0 items-center gap-1",label:x(gr,"shrink-0 whitespace-nowrap"),value:""},ox="flex min-h-4 flex-wrap items-center gap-x-2 gap-y-1 text-slate-500 text-xs dark:text-slate-300",Tf=x("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",Ls,Zl,Ql),ax=x("flex flex-col gap-1",Ns),sx=x(pd,"grid grid-cols-2 gap-1"),ix=x("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",ne),Il=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)})}},lx=(e,t,r,n,o,a)=>{let s=Do(null),i=e?.reportHubId;Cl(()=>{s.current=null},[i]),Al(()=>{n||(s.current=null)},[n]);let l=Hr(async(d,c)=>{c||(s.current=d.reportHubId);try{await a(d.reportHubId,!d.isRead,d.date)}catch{}},[a]);return Al(()=>{if(!(r&&e&&!e.isRead&&!t)||s.current===e.reportHubId)return;let d=null,c=()=>{d!==null&&clearTimeout(d),d=o.isDwelling()?setTimeout(()=>l(e,!0),500):null};c();let u=o.subscribe(c);return()=>{u(),d!==null&&clearTimeout(d)}},[e,t,r,l,o]),{handleToggleRead:l}},vl="article",dx=["article","relations"],cx=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},ux=x("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",xt),px=x("flex h-full flex-1 items-center justify-center text-center",$r),mx=9,fx=.875,yx=16,Af=4*Math.ceil((2*rr+2*Lo+2*td+mx*fx*yx)/4),Cf=({dailyReportItems:e,selectionStore:t,autoMarkRead:r,userId:n,onReportDeleted:o})=>{let{labels:a}=q(),s=gf(),i=gf(),[l,d]=Ef(vl),{selected:c,settled:u}=ex(t.subscribe,t.getSnapshot,t.getSnapshot),p=Ro(e,c),f=Ro(e,JT(u)),y=p===null?null:p.reportHubId,b=(f===null?null:f.reportHubId)===y,[m]=Ef(()=>Il(b));return Cl(()=>{m.set(b)},[m,b]),Q("aside",{"data-testid":"daily-report-side-pane","data-report-id":p?.reportHubId,"data-displayed-report-id":f?.reportHubId,"aria-busy":b?void 0:!0,className:ux,children:f===null?Q("div",{className:px,children:Q("p",{className:Ht,children:a.selectPrompt})}):Q(Rs,{item:f,headingId:s,authorId:i,activeTab:l,onActiveTabChange:d,autoMarkRead:r,isActive:!0,dwell:m,userId:n,onReportDeleted:o},f.reportHubId)})},Rs=ZT(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:s,dwell:i,userId:l,onReportDeleted:d})=>{let{labels:c,sourceTypeConfigs:u,headingLevel:p}=q(),{report:f,error:y,isLoading:h}=Ar(e.reportHubId,e.businessDate),b=ur(),m=Ma(e.reportHubId),g=m==="editing"||m==="automatic",R=Do(null),E=Do(null),D=Do(!1),T=Do(!1),_=!!(l&&f?.userId===l),I=f?.isDraft===!0;Al(()=>{f!==null&&(_&&I&&m==="display"?b.open(e.reportHubId,yn(f),!0):!I&&m==="automatic"&&b.discard(e.reportHubId))},[f,_,I,m,b,e.reportHubId]);let O=To(()=>f===null?void 0:()=>{D.current=!0,b.open(e.reportHubId,yn(f),!1)},[b,e.reportHubId,f]),M=Hr(()=>{T.current=!0,b.dismiss(e.reportHubId)},[b,e.reportHubId]),F=Hr(()=>{T.current=!0,b.discard(e.reportHubId)},[b,e.reportHubId]),Y=Hr(G=>{G===null||!D.current||(D.current=!1,G.focus())},[]),V=Hr(G=>{G===null||!T.current||(T.current=!1,G.focus())},[]),w=Hr(()=>{E.current?.focus({preventScroll:!0})},[]);Cl(()=>{g||!T.current||(T.current=!1,E.current?.focus())},[g]);let P=Hr(()=>{setTimeout(()=>{let G=R.current;G!==null&&G.scrollTo({top:G.scrollHeight,behavior:Jc(G)})},100)},[]),j=be(e.businessDate),B=To(()=>f===null?null:Me(f.employeeName),[f]),Z=h||!f,$=f===null?void 0:Vt(f.sourceType,u);return Zt(pn,{reportHubId:e.reportHubId,children:[Zt("div",{className:ax,children:[Q("dl",{className:"m-0",children:Q(Ye,{label:c.businessDate,classNames:rx,children:Q(Je,{ref:E,level:p,id:t,tabIndex:-1,className:ix,children:j})})}),Zt("div",{className:ox,children:[Q("dl",{className:"m-0 min-w-0",children:Q(Ye,{label:c.author,classNames:nx,valueId:r,children:Z||B===null?Q("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):Q(se,{fieldKey:le.field("employeeName"),raw:f?.employeeName,display:B})})}),$?Q(bn,{config:$}):null,f===null?null:Q(Ja,{isEditing:g,descriptionId:null})]})]}),Zt(So,{value:n,onValueChange:G=>o(cx(G)),className:"flex min-h-0 flex-1 flex-col",children:[Q("div",{className:Ns,children:Q(go,{"aria-label":c.reportTabList,className:sx,children:dx.map(G=>Q(Eo,{value:G,children:G==="article"?c.tabArticle:c.tabRelations},G))})}),Q(Tn,{ref:R,value:"article",tabStop:!0,className:Tf,children:g?f?Q(Za,{report:f,onCancel:M,onPublishSuccess:F,titleInputRef:Y}):Q("p",{className:$r,children:c.loading}):Q(Rx,{report:f,sourceConfig:$,isLoading:h,error:y,item:e,autoMarkRead:a,isActive:s,dwell:i,onCommentAdded:P,userId:l,onEdit:_?O:void 0,editButtonRef:V,onReportDeleted:d,onCommentSectionRemoved:w})}),Q(Tn,{value:"relations",tabStop:!0,className:Tf,children:Q("p",{className:$r,children:c.relationsEmpty})})]})]})});Rs.displayName="DailyReportSidePaneContent";var bs=({className:e="w-32"})=>Q("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),hx=["w-full","w-11/12","w-4/5"],bx=x(rd,No),Rx=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:s=!0,dwell:i,onCommentAdded:l,userId:d,onEdit:c,editButtonRef:u,onReportDeleted:p,onCommentSectionRemoved:f})=>{let{toggleStar:y,toggleRead:h,deleteReport:b}=Be(),{labels:m,headingLevel:g}=q(),R=pr[g],{handleToggleRead:E}=lx(e,r,a,s,i,h),D=e!==null&&Yo(e.sourceType,t),T=To(()=>e?.content?Hd(e.content):null,[e]),_=To(()=>Me(e?.subject),[e]),I=To(()=>Me(e?.customerName),[e]),O=async V=>{try{await y(V.reportHubId,!V.isStarred,V.date)}catch{}},M=async V=>{if(confirm(m.confirmDelete)){try{await b(V.reportHubId,V.date)}catch{return}p(V.reportHubId)}};if(n)return Q("p",{className:wn,children:m.reportLoadFailed(o.reportHubId)});let F=!e,Y=!!(d&&e?.userId===d);return Zt("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:c,children:[Zt("div",{className:"flex items-start gap-2",children:[Q("dl",{className:"m-0 flex min-w-0 flex-1",children:Q(Ye,{label:m.subject,classNames:tx,children:F?Q(bs,{className:"w-3/4"}):Q("span",{className:"text-sm",children:Q(se,{fieldKey:le.field("subject"),raw:e?.subject,display:_})})})}),!F&&e&&Zt("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[Q("button",{type:"button",onClick:()=>O(e),className:He,title:e.isStarred?m.starRemove:m.starAdd,"aria-label":e.isStarred?m.starRemove:m.starAdd,"data-detail-star-button":e.reportHubId,children:Q(hn,{filled:e.isStarred})}),Q("button",{type:"button",onClick:()=>E(e,!1),className:He,title:e.isRead?m.markUnread:m.markRead,"aria-label":e.isRead?m.markUnread:m.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?Q(qT,{className:Oe.read}):Q(Rn,{})}),c&&Q("button",{ref:u,type:"button",onClick:c,"data-detail-edit-button":e.reportHubId,className:He,title:m.edit,"aria-label":m.edit,children:Q(XT,{className:Oe.edit})}),Y&&Q("button",{type:"button",onClick:()=>M(e),"data-detail-delete-button":e.reportHubId,className:He,title:m.deleteReport,"aria-label":m.deleteReport,children:Q(QT,{className:Oe.delete})})]})]}),Q("dl",{className:"m-0",children:Q(Ye,{label:m.customer,classNames:Df,children:F?Q(bs,{className:"w-1/2"}):Q("span",{className:"text-sm",children:Q(se,{fieldKey:le.field("customerName"),raw:e?.customerName,display:I})})})}),Zt("div",{className:"flex flex-col gap-2",children:[Q(Je,{level:R,className:Ft,children:m.content}),Q("div",{className:bx,children:F?hx.map(V=>Q("div",{className:nd,children:Q(bs,{className:V})},V)):T!==null&&T.text.length>0?Q("div",{className:"whitespace-pre-wrap",children:Q(se,{fieldKey:le.field("content"),raw:e?.content,display:T})}):Q("p",{className:"text-slate-500 dark:text-slate-400",children:m.contentEmpty})})]}),Q("dl",{className:"m-0",children:Q(Ye,{label:m.visitTime,classNames:Df,children:F?Q(bs,{className:"w-1/3"}):Zt("span",{className:"text-sm",children:[sr(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",sr(e?.visitTimeTo)]})})}),e&&Q(ja,{attachments:e.attachments}),e&&Q(co,{report:e,userId:d,canComment:D,onCommentAdded:l,onSectionRemoved:f,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};import{jsx as Rr,jsxs as If}from"react/jsx-runtime";var Ax="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]",Cx={right:"var(--aqdr-overlay-right, 0px)"},Ix="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",vx=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",Dd),_x=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",ne),wx="flex shrink-0 justify-center empty:hidden",Lx=50,vf=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[s,i]=gs(!1),[l,d]=gs(!1),c=St(null),u=St(null),p=St(null),f=St(e),y=St(!0),h=Ro(r,t),b=Ss(()=>{let E=o.current;if(E===null)return;let D=E.ownerDocument.body;p.current={body:D,overflow:D.style.overflow},D.style.overflow="hidden"},[o]),m=Ss(()=>{let E=p.current;E!==null&&(E.body.style.overflow=E.overflow,p.current=null)},[]);xn(()=>{if(y.current){y.current=!1,f.current=e;return}let E=!f.current;f.current=e,E&&e&&a!==null?i(!0):!e&&s&&(u.current=a,i(!1),m())},[e,a,s,m]);let g=e&&s&&h!==null;xn(()=>{if(g)d(!0);else{let E=setTimeout(()=>d(!1),300);return()=>clearTimeout(E)}},[g]),xn(()=>{if(e&&s&&a!==null&&!c.current){let E=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:E},"",window.location.href),c.current=E}else!(e&&s)&&c.current&&(c.current=null);return e&&s?b():m(),m},[e,s,a,b,m]),xn(()=>{let E=()=>{c.current&&(u.current=a,c.current=null,i(!1),n(null))};return window.addEventListener("popstate",E),()=>window.removeEventListener("popstate",E)},[a,n]);let R=Ss(()=>{e&&(u.current=a,i(!1),n(null),c.current&&(c.current=null,window.history.back()))},[e,a,n]);return{isMobileDetailOpen:s,setIsMobileDetailOpen:i,isOverlayMounted:l,shouldShowOverlay:g,handleOverlayClose:R,lastClosedItemIdRef:u,selectedItem:h}},_f=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:s}=q(),{registerNoticeHost:i}=Fa(),l=St(null),d=St(null),c=_l(),u=_l(),[p,f]=gs(vl),y=gx(),h=_l(),b=St(!1),m=St(e),g=St(null),[R]=gs(()=>Il(e)),{isBlocked:E,requestBlock:D,reset:T}=Ex(),_=xx(e,t),{overlayRef:I,overlayStyle:O,attemptClose:M,isSwiping:F}=Dx({isOpen:e,onClose:r,isCloseBlocked:Ss(()=>E,[E]),skipWhenTextSelected:!0}),Y=St(M);wl(()=>{Y.current=M,m.current=e,R.set(e)},[M,e,R]),xn(()=>{if(e)return y({id:h,onEscape:B=>Yt(B)&&Y.current()})},[e,y,h]),wl(()=>{let B=l.current;if(B===null)return;if(e){if(b.current)return;B.showModal(),b.current=!0,B.ownerDocument.getElementById(c)?.focus();return}if(!b.current)return;b.current=!1;let Z=Ie(B);Z!==null&&B.contains(Z)&&Bn(Z)&&Z.blur(),B.close()},[e,c]),wl(()=>{let B=d.current;if(!(!e||B===null))return i(B)},[e,i]),xn(()=>{e||T()},[e,T]);let V=Tx(()=>M()),w=B=>{let Z=un(B);if(Yt(Z)){M()&&B.preventDefault();return}if(Z.key==="Escape"){g.current=B.timeStamp;return}let $=Bu(Z,B.currentTarget);$!==null&&(B.preventDefault(),$.kind==="wrap"&&$.element.focus())},P=B=>{B.preventDefault();let Z=g.current;g.current=null,!(Z!==null&&B.timeStamp-Z<=Lx)&&Y.current()},j=B=>{let Z=B.currentTarget;Z.open||!m.current||(b.current=!1,!Y.current()&&(Z.showModal(),b.current=!0))};return _?If("dialog",{ref:l,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${c} ${u}`,tabIndex:-1,className:x(Ax,e&&!F?"pointer-events-auto":"pointer-events-none"),style:Cx,inert:!e,onKeyDown:w,onCancel:P,onClose:j,children:[Rr("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:x(Ix,e?"opacity-100":"opacity-0"),...V}),Rr("div",{ref:I,"data-daily-report-overlay-panel":"",className:x(vx,e?"pointer-events-auto":"pointer-events-none"),style:O,children:If("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[Rr(Sx.Provider,{value:{isBlocked:E,requestBlock:D},children:Rr("div",{"data-testid":"daily-report-side-pane","data-report-id":_.reportHubId,"data-displayed-report-id":_.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:Rr(Rs,{item:_,headingId:c,authorId:u,activeTab:p,onActiveTabChange:f,autoMarkRead:n,isActive:e,dwell:R,userId:o,onReportDeleted:a},_.reportHubId)})}),Rr("div",{ref:d,"data-daily-report-notice-slot":"","data-overlay-interactive":"true",className:wx}),Rr("div",{className:"flex justify-start",children:Rr("button",{type:"button","data-overlay-interactive":"true",className:_x,onClick:()=>M(),children:s.close})})]})})]}):null};import zx from"lucide-react/dist/esm/icons/check.js";import{createContext as jx,memo as Mf,useCallback as Yx,useContext as Br,useEffect as Gx,useId as An,useMemo as Ll,useRef as qx}from"react";import{createContext as Nx,createElement as Ox,useLayoutEffect as Mx,useMemo as kx,useRef as Px,useState as Fx}from"react";var Hx=6.75,Bx=4,Ux=1e-6,Vx=e=>4*Math.ceil((2*rr+2*Lo+Bx+Hx*e-Ux)/4),Es=Nx(null),Wx="data-daily-report-root-font-size-probe",Kx={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},$x=e=>{let t=$e(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])},wf=()=>{let e=Px(null),[t,r]=Fx(null);Mx(()=>{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=Vx($x(o));l!==a&&(a=l,r(l))};s();let i=new ResizeObserver(s);return i.observe(o),()=>i.disconnect()},[]);let n=kx(()=>Ox("div",{ref:e,"aria-hidden":!0,[Wx]:"",style:Kx}),[]);return{rowSlotHeight:t,remProbe:n}};import{jsx as te,jsxs as In}from"react/jsx-runtime";var Xx=x(or,_o,wo,vo),Qx=x("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",xt,Oo,ed),Zx="min-w-24",Jx="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",eA={touchAction:"manipulation"},tA=x("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",Zx),rA=x("relative z-10",He),nA=x(Ke,"shrink-0 whitespace-nowrap bg-slate-100 font-medium text-slate-900 text-xs dark:bg-slate-800 dark:text-slate-100"),oA=x(Ke,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),aA=x(ad,"ml-auto"),sA=x("flex h-full",xt),iA="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",Cn="h-4 rounded bg-slate-200 dark:bg-slate-700",lA=te("div",{"data-skeleton":!0,...Qe,className:sA,children:In("div",{className:iA,children:[In("div",{className:"flex flex-wrap items-center gap-2",children:[te("div",{className:x(Cn,"w-24")}),te("div",{className:x(Cn,"w-24")}),te("div",{className:x(Cn,"w-24")})]}),In("div",{className:"space-y-2",children:[te("div",{className:x(Cn,"w-full")}),te("div",{className:x(Cn,"w-11/12")}),te("div",{className:x(Cn,"w-5/6")})]})]})}),dA=()=>lA,cA=e=>{e.target===e.currentTarget&&e.preventDefault()},uA="h-full w-full",kf=jx(!1),Lf=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=Br(zt),a=Br($t),s=Br(Es);if(s===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let i=Ll(()=>({height:s}),[s]),{isCurrent:l,isTabStop:d}=us(t,e),c=ps(t,e,o);return te(so.Provider,{value:d,children:te(kf.Provider,{value:l,children:te("div",{ref:r?.focusTargetRef,role:"listitem","data-daily-report-row":e,"aria-posinset":o+1,"aria-setsize":a,"aria-label":r?.label,"aria-busy":r?.isBusy||!c?!0:void 0,"aria-current":r!==null&&l?"true":void 0,tabIndex:r===null?-1:void 0,className:Xx,style:i,onMouseDown:cA,children:c?n:te("div",{...Qe,className:uA})})})})},pA=({id:e})=>{let{labels:t}=q(),r=Br(zt),n=Br($t);return te("span",{id:e,hidden:!0,children:n===jn?t.listRowPositionInUnknownTotal(r+1):t.listRowPosition(r+1,n)})},mA=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=Br(kf);return te("button",{ref:t,type:"button","data-daily-report-button":e,"aria-current":a?"true":void 0,"aria-describedby":r,onClick:n,className:tA,children:o})},Nf=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=fn();return te("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:rA,children:n})},Pf=Mf(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=q(),{toggleStar:s,toggleRead:i}=Be(),l=An(),d=An(),c=An(),u=An(),p=An(),f=An(),y=Br(lt)!==null,h=Ll(()=>Fd(t.content??null,pc),[t.content]),b=Ll(()=>Me(t.employeeName),[t.employeeName]),m=be(e.businessDate),g=O=>{O.currentTarget.focus({preventScroll:!0});let M=Yc(O.currentTarget);M!==null&&r(e.reportHubId,M)},R=async()=>{let O=!t.isStarred;try{await s(t.reportHubId,O,t.date)}catch{}},E=async()=>{let O=!t.isRead;try{await i(t.reportHubId,O,t.date)}catch{}},D=t.isStarred?o.starRemove:o.starAdd,T=t.isRead?o.markUnread:o.markRead,_=Vt(t.sourceType,a),I=[l,c,...t.attachments.length>0?[u]:[],..._===void 0?[]:[p],d,...y?[f]:[]].join(" ");return te("div",{"data-daily-report-card":!0,...Qe,style:eA,className:Qx,children:In(pn,{reportHubId:e.reportHubId,children:[te(pA,{id:l}),te("span",{id:c,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),In(mA,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:I,onClick:g,children:[te("span",{className:nA,children:m})," ",te("span",{className:oA,children:te("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:te(se,{fieldKey:le.field("employeeName"),raw:t.employeeName,display:b})})})]}),In("div",{className:aA,children:[te(Ln,{id:u,count:t.attachments.length,label:o.attachments}),_?te(bn,{id:p,config:_}):null,te(Nf,{label:D,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:R,children:te(hn,{filled:t.isStarred})}),te(Nf,{label:T,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:E,children:t.isRead?te(zx,{className:Oe.read}):te(Rn,{})})]}),te("div",{id:d,className:Jx,children:h.length>0?h.map((O,M)=>te("p",{className:"wrap-break-word line-clamp-1",children:te(se,{fieldKey:le.field("content"),raw:t.content,display:O})},M)):te("p",{children:o.contentEmptyPreview})}),te(fm,{id:f})]})})});Pf.displayName="ListReportCard";var Of=(e,t)=>Yx(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),Nl=Mf(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=q(),{removeStaleItem:o}=Be(),{report:a,error:s,isLoading:i,isRefetching:l}=Ar(e.reportHubId,e.businessDate),d=qx(!1);Gx(()=>{if(l){d.current=!0;return}!(a||i||s)&&d.current&&e.reportHubId>0&&o(e.reportHubId)},[a,i,l,s,e.reportHubId,o]);let c=Of(r,e.reportHubId),u=Of(r,e.reportHubId),p=(f,y)=>te(Lf,{reportHubId:e.reportHubId,cursor:r,cardless:{label:be(e.businessDate),isBusy:y,focusTargetRef:c},children:f});return s?p(te("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:te("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):i?p(te(dA,{}),!0):a?te(Lf,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:te(Pf,{item:e,report:a,onSelect:t,focusTargetRef:u})}):p(te("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:te("p",{children:n.reportNotFound})}),!1)});Nl.displayName="ListReportItem";import{Fragment as LA,jsx as Ge,jsxs as Ts}from"react/jsx-runtime";var Bf={pointerDragInputs:ra,inertiaOptions:an(!1),wheelSpeedMultiplier:Xo,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},bA={...Bf,inertiaOptions:an(!0)},RA=Object.freeze({value:360,unit:"pixels"}),SA=Object.freeze({value:160,unit:"pixels"}),gA=Object.freeze({value:Af,unit:"pixels"}),EA=Object.freeze({value:520,unit:"pixels"}),DA=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),TA=x("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",ne),xA=x("relative w-full",Bo,Ho),AA=x(rt,"relative isolate overflow-hidden"),Hf="daily-report-list",CA=()=>!1,IA=e=>{let[t,r]=xs(!1);return Ml(()=>{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<uc)},a=new($e(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},kl=e=>{let t=Ur(null),[r,n]=xs(null),o=ca(t),a=IA(t),{rowSlotHeight:s,remProbe:i}=wf(),l=sn(r),d=gt(c=>(t.current=c,n(c),()=>{t.current=null,n(null)}),[]);return Ts("div",{ref:d,className:Po,"data-testid":"daily-report-root",children:[i,o===null||s===null?null:Ge(vA,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:s,isContainerNarrow:a,reducedMotion:l})]})},vA=({dailyReportItems:e,rowSetSize:t,autoMarkRead:r=!1,selectedReportHubId:n,onSelectItem:o,userId:a,scrollOffsetRef:s,rootRef:i,viewportHeight:l,rowSlotHeight:d,isContainerNarrow:c,reducedMotion:u})=>{let[p]=xs(()=>s?.current??0),f=Ur(null),{labels:y}=q(),h=ia(),[b]=xs(ba),g=bf()||c,R=Ur(null),E=e.length,D=t===void 0?E:t,T=Ur(null),_=gt(L=>o(L),[o]),I=gt(L=>{let A=ye(e,L);return A===void 0?Zo:A},[e]),O=Ur(null),M=gt(L=>{let A=I(L.visibleStartIndex);A.reportHubId>0&&(b.setLabel(be(A.businessDate)),O.current=A.reportHubId)},[I,b]),F=gt(()=>O.current,[]),Y=Ol(()=>({kind:"uniform",rowHeight:d}),[d]),V=Ur(e);Ml(()=>{V.current=e},[e]);let{cursor:w,containerProps:P,handleRangeChange:j,handleScrollAdjust:B,attachVirtualScroll:Z,handleRef:$,scroller:G,attachScrollContainer:ue,contentProps:pe,keyboardHelp:We,selection:je,selectionStore:me,resolveSelectedIndex:ie,rememberSelection:Ne,focusAfterRemoval:qe}=ms({items:e,selectedId:n,onSelect:_,containerRef:f,rootRef:i,testId:Hf,itemsRef:V,rowSizing:Y,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:CA,onRangeChange:M});Sa({items:e,scroller:G,readTopReportId:F});let{isMobileDetailOpen:ut,setIsMobileDetailOpen:Dt,isOverlayMounted:Tt,shouldShowOverlay:Ae,handleOverlayClose:_e,lastClosedItemIdRef:ge,selectedItem:Xe}=vf({isMobileLayout:g,selection:je,dailyReportItems:e,onSelectItem:o,rootRef:i});Ds(()=>{let L=f.current,A=()=>{b.setWheelScrollActive(!0),R.current&&clearTimeout(R.current),R.current=window.setTimeout(()=>{b.setWheelScrollActive(!1),R.current=null},Jo)};return L?.addEventListener("wheel",A,{passive:!0}),()=>{L?.removeEventListener("wheel",A),R.current&&clearTimeout(R.current)}},[b]),Ds(()=>{!E&&n!==null&&o(null)},[E,n,o]),Ds(()=>{if(ut||ge.current===null)return;let L=ge.current;ge.current=null;let A=ie(e,L);if(A===-1)return;let k=$.current;if(k!==null){let W=mo(k,A,e.length,Y),re=W===null?"none":Om(W);re!=="none"&&G.toIndex(A,{align:re})}w.requestFocus(L)},[ut,e,ge,w,ie,$,Y,G]),Ds(()=>{let L=ye(e,0);L!==void 0&&b.setLabel(be(L.businessDate))},[e,b]);let tt=gt((L,A)=>{L<=0||(Ne(L,A),o(L),g&&Dt(!0))},[g,o,Dt,Ne]),v=gt(()=>d,[d]),H=Ur(d);Ml(()=>{let L=H.current;H.current=d;let A=$.current;if(L===d||A===null)return;let k=A.getScrollPosition();k>0&&G.by(k*d/L-k)},[$,d,G]);let z=gt(L=>I(L).reportHubId,[I]),S=gt((L,A)=>Ge(zt.Provider,{value:A,children:Ge(Nl,{item:L,onSelect:tt,cursor:w})},L.reportHubId),[tt,w]),C=gt(L=>{s&&(s.current=L);let A=f.current;A&&(A.toggleAttribute(Kr,!0),T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{A.toggleAttribute(Kr,!1),T.current=null},150))},[s]),K=gt(L=>Ge(Ra,{...L,store:b}),[b]),N=Ol(()=>Ts("div",{ref:ue,className:AA,...P,children:[We,Ge($t.Provider,{value:D,children:Ge(Es.Provider,{value:d,children:Ge(hA,{ref:Z,itemCount:E,getItem:I,getItemKey:z,getItemHeight:v,viewportSize:l,initialScrollOffset:p,overscanCount:ea,scrollBarOptions:{...ta,renderThumbOverlay:K},behaviorOptions:u?bA:Bf,onRangeChange:j,onScrollAdjust:B,onScroll:C,testId:Hf,className:xA,locale:h.locale,labels:h.labels,contentProps:pe,children:S})})})]}),[ue,Z,P,D,E,I,z,v,l,d,u,p,K,j,B,C,We,pe,h.locale,h.labels,S]),X=Ol(()=>Ts(fA,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[Ge(Ff,{id:"daily-report-list-panel",defaultSize:RA,minSize:SA,maxSize:EA,contentOverflow:"hidden",className:_A,children:N}),Ge(yA,{id:"daily-report-list-handle",thickness:10,indicator:DA,className:TA,"aria-label":y.resizeHandle}),Ge(Ff,{id:"daily-report-detail-panel",minSize:gA,contentOverflow:"hidden",className:wA,children:Ge(Cf,{dailyReportItems:e,selectionStore:me,autoMarkRead:r,userId:a,onReportDeleted:qe})})]}),[N,y.resizeHandle,e,me,r,a,qe]);return Ts(LA,{children:[Ge("div",{className:Fo,children:g?Ge("div",{className:rt,children:N}):X}),Tt&&Ge(_f,{isOpen:Ae,selectedItem:Xe,onClose:_e,autoMarkRead:g&&r,userId:a,onReportDeleted:qe})]})},_A=x("flex min-h-0",Xl),wA=x("flex min-h-0 flex-1",or);import{useCallback as ZC,useEffect as _y,useLayoutEffect as Ly,useRef as Ny,useState as ql}from"react";import vC from"lucide-react/dist/esm/icons/plus.js";import _C from"lucide-react/dist/esm/icons/refresh-cw.js";import wC from"lucide-react/dist/esm/icons/rotate-cw.js";import{useEffect as Yl,useId as Cy,useLayoutEffect as Iy,useMemo as ws,useRef as _n,useState as Vr}from"react";import{useSearchParams as LC}from"react-router";import{useEffect as NA,useRef as Uf,useState as OA}from"react";var Vf=(e,t,r=250)=>{let n=sn(t),[o,a]=OA(e),s=Uf(e),i=Uf(!0);return NA(()=>{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 d=$e(t),c=0,u=null,p=f=>{u===null&&(u=f);let y=Math.min(1,Math.max(0,(f-u)/r)),h=1-(1-y)**3,b=Math.round(l+(e-l)*h);s.current=b,a(b),y<1&&(c=d.requestAnimationFrame(p))};return c=d.requestAnimationFrame(p),()=>d.cancelAnimationFrame(c)},[e,r,n,t]),n?e:o};import qA from"lucide-react/dist/esm/icons/x.js";import{useEffect as qf,useId as Is,useLayoutEffect as XA,useRef as xo,useState as Xf}from"react";var Hl=Object.freeze({maxValuesPerFacet:16,maxValueLength:200,maxTotalValueLength:300}),MA=["author","sourceType","customer"],Bl=Object.freeze({authors:Object.freeze([]),sourceTypes:Object.freeze([]),customers:Object.freeze([])}),kA=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,PA=e=>{let t=e.trim();return t.length===0?null:t.replace(kA,"\uFFFD")},Wf=e=>{let t=PA(e);return t===null?"filter-blank-value":t!==e?"filter-value-not-canonical":e.length>Hl.maxValueLength?"filter-value-too-long":null},FA=e=>{if(e.length>Hl.maxValuesPerFacet)return"filter-too-many-values";let t=new Set;for(let r of e){let n=Wf(r);if(n!==null)return n;if(t.has(r))return"filter-duplicate-value";t.add(r)}return null},HA=e=>{let t=0;for(let r of e.authors)t+=r.length;for(let r of e.customers)t+=r.length;return t},As=e=>{for(let t of[e.authors,e.sourceTypes,e.customers]){let r=FA(t);if(r!==null)return r}return HA(e)>Hl.maxTotalValueLength?"filters-too-long":null},Pl=e=>[...new Set(e)].sort((t,r)=>t<r?-1:1),Cs=e=>({authors:Pl(e.authors),sourceTypes:Pl(e.sourceTypes),customers:Pl(e.customers)}),Sr=e=>e.trim().length===0,vn=e=>e.authors.length===0&&e.sourceTypes.length===0&&e.customers.length===0,Kf=(e,t)=>{let r=Cs(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)},Fl=e=>{if(!Array.isArray(e))return null;let t=[],r=new Set;for(let n of e){if(typeof n!="string"||Wf(n)!==null||r.has(n))return null;r.add(n),t.push(n)}return t},$f=e=>{if(!Ut(e))return null;let t=Fl(e.sourceTypes),r=Fl(e.authors),n=Fl(e.customers);return t===null||r===null||n===null?null:{sourceTypes:t,authors:r,customers:n}};import{Component as BA,Suspense as UA,useMemo as zf,useState as VA}from"react";import{jsx as Jt,jsxs as Gf}from"react/jsx-runtime";var jf="flex min-h-6 items-center text-slate-600 text-xs dark:text-slate-300",WA=[{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"}],KA=(e,t)=>t==="author"?e.author:t==="sourceType"?e.searchFilterSourceType:e.customer,$A=(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 we(`config.search.renderFilterSelect (${e}) onChange values`,"distinct values of the options the control received",t);o.add(a)}return t},Ul=class extends BA{constructor(){super(...arguments);this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?Jt("span",{className:jf,children:this.props.fallback}):this.props.children}},zA=(e,t,r,n)=>{let o=zf(()=>new Set(t.map(s=>s.value)),[t]),a=JSON.stringify(n.filter(s=>!o.has(s)));return zf(()=>{let s=JSON.parse(a);return s.length===0?t:[...t,...s.map(i=>r(e,i))]},[e,t,r,a])};function jA({renderFilterSelect:e,selectProps:t}){return e(t)}var YA=(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 GA({cell:e,labels:t,locale:r,renderFilterSelect:n,candidates:o,optionOf:a,selected:s,onSelect:i}){let l=zA(e.facet,o,a,s),d=KA(t,e.facet);return Gf("fieldset",{"data-testid":e.testId,className:Sd,children:[Jt("legend",{"data-testid":`${e.testId}-caption`,className:x(gd,Ht),children:d}),Jt(Ul,{fallback:t.searchFilterUnavailable,children:Jt(UA,{fallback:Jt("span",{className:jf,children:t.searchFiltersLoading}),children:Jt(jA,{renderFilterSelect:n,selectProps:{facet:e.facet,label:d,options:l,value:s,onChange:c=>i(e,$A(e.facet,c,l)),locale:r}})})})]})}function Yf({id:e,labelledBy:t,labels:r,locale:n,renderFilterSelect:o,facets:a,value:s,onChange:i,clearSignal:l}){let[d,c]=VA(null),u=YA(r,a,d!==null&&d.selection===s&&d.clearSignal===l),p=(y,h)=>{let b={...s,[y.key]:h};if(As(b)!==null){c({selection:s,clearSignal:l});return}c(null),i(b)},f=a.status==="ready"?a:null;return Gf("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:Jt("div",{className:Rd,children:WA.map(y=>Jt(GA,{cell:y,labels:r,locale:n,renderFilterSelect:o,candidates:f.options[y.key],optionOf:f.optionOf,selected:s[y.key],onSelect:p},y.facet))}),Jt("span",{"data-testid":"daily-report-search-filters-status","aria-live":"polite",className:x("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",Ht),children:u})]})}import{jsx as er,jsxs as Vl}from"react/jsx-runtime";var QA=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",Pt,ne),Qf="inline-flex h-6 shrink-0 items-center rounded-full border border-solid px-[11px] font-semibold text-xs",vs=Object.freeze({field:x(Qf,"bg-white text-slate-800 dark:bg-slate-900 dark:text-slate-100",Pt,ne),filled:x(Qf,"border-blue-700 bg-blue-700 text-white dark:border-blue-600 dark:bg-blue-600 dark:text-white forced-colors:border-[Highlight] forced-colors:bg-[Highlight] forced-colors:text-[HighlightText]",ne)}),ZA=Object.freeze({union:x("mr-2",vs.field),intersection:x("mr-2",vs.filled)}),Zf=Object.freeze({closed:x("ml-2",vs.field),open:x("ml-2",vs.filled)}),JA=e=>e.authors.length+e.sourceTypes.length+e.customers.length,eC=(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 Jf({labels:e,debounceMs:t,search:r,onCommit:n,onCombineChange:o,onRelease:a,clearSignal:s,filters:i}){let[l,d]=Xf(""),[c,u]=Xf(!1),p=l.length>0||r.committed!==null&&!Sr(r.committed.text),f=Is(),y=Is(),h=xo(null),b=xo(null),m=xo(!1),g=xo(s),R=Is(),E=Is(),D=xo({search:r,onCommit:n,onRelease:a});XA(()=>{D.current={search:r,onCommit:n,onRelease:a}});let T=()=>{b.current!==null&&clearTimeout(b.current),b.current=null},_=($,G,ue)=>{let pe=D.current;Sr($)?vn(ue)?pe.search.committed!==null&&pe.onRelease():pe.onCommit("",G,ue):pe.onCommit($,G,ue)},I=$=>{T();let G=D.current;_($,G.search.combine,G.search.filters)},O=$=>{t===null||m.current||(T(),b.current=setTimeout(()=>I($),t))},M=()=>{T(),d(""),vn(r.filters)?a():(r.committed===null||!Sr(r.committed.text))&&n("",r.combine,r.filters),h.current?.focus()},F=$=>{d($.target.value),O($.target.value)},Y=$=>{let G=un($);if($.key==="Enter"&&!wr(G)){$.preventDefault(),I(l);return}Yt(G)&&p&&($.preventDefault(),M())},V=()=>{T();let $=r.combine==="union"?"intersection":"union";Sr(l)&&vn(r.filters)?o($):_(l,$,r.filters)},w=$=>{c||$.facets.load(),u(!c)},P=$=>{T(),_(l,r.combine,$)};qf(()=>{g.current!==s&&(g.current=s,b.current!==null&&clearTimeout(b.current),b.current=null,d(""))},[s]),qf(()=>()=>{b.current!==null&&clearTimeout(b.current)},[]);let j=r.combine==="intersection",B=eC(e,r),Z=i!==null&&c;return Vl("search",{"data-testid":"daily-report-search",className:hd,children:[Vl("div",{className:bd,children:[er("button",{type:"button","data-testid":"daily-report-search-combine","aria-describedby":R,title:j?e.searchCombineAndTitle:e.searchCombineOrTitle,onClick:V,className:ZA[r.combine],children:j?e.searchCombineAnd:e.searchCombineOr}),Vl("div",{className:"relative min-w-0 flex-1",children:[er("input",{ref:h,type:"text","data-testid":"daily-report-search-input","aria-label":e.searchInputLabel,"aria-describedby":E,title:e.searchSyntaxHelp,placeholder:e.searchPlaceholder,value:l,onChange:F,onKeyDown:Y,onCompositionStart:()=>{m.current=!0,T()},onCompositionEnd:$=>{m.current=!1,O($.currentTarget.value)},className:QA}),p?er("button",{type:"button","data-testid":"daily-report-search-clear","aria-label":e.searchClear,title:e.searchClear,onClick:M,className:x("absolute top-0 right-0",He),children:er(qA,{"aria-hidden":"true",className:"size-4"})}):null]}),i===null?null:er("button",{type:"button",id:f,"data-testid":"daily-report-search-filters-toggle","aria-expanded":c,"aria-controls":Z?y:void 0,onClick:()=>w(i),className:c?Zf.open:Zf.closed,children:e.searchFiltersToggle(JA(r.filters))}),er("span",{id:R,hidden:!0,children:j?e.searchCombineAndTitle:e.searchCombineOrTitle}),er("span",{id:E,hidden:!0,children:e.searchSyntaxHelp}),er("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",Ht),children:B})]}),Z?er(Yf,{id:y,labelledBy:f,labels:e,locale:i.locale,renderFilterSelect:i.renderFilterSelect,facets:i.facets.state,value:r.filters,onChange:P,clearSignal:s}):null]})}var ey=new WeakMap,ty=e=>{let t=new Set;for(let r of e)t.add(r.reportHubId);return{items:e,ids:t,answeredByChunk:new WeakMap}},tC=(e,t)=>e.businessDate===t.businessDate&&e.sourceType===t.sourceType,rC=(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},ry=(e,t,r)=>{if(e===null)return{items:t,hasAnswerOnlyItems:!1};let n=new Map;for(let l of Kc(t,e.answeredByChunk,d=>e.ids.has(d.reportHubId)))n.set(l.reportHubId,l);let o=[],a=!1;for(let l of e.items){let d=n.get(l.reportHubId);d!==void 0?o.push(tC(d,l)?l:d):r(l.reportHubId)||(o.push(l),a=!0)}let s=ey.get(e);if(s!==void 0&&s.list.hasAnswerOnlyItems===a&&rC(s.items,o))return s.list;let i={items:o,hasAnswerOnlyItems:a};return ey.set(e,{items:o,list:i}),i};var ny=(e,t,r)=>{let n=ye(t,0);if(n===void 0)return null;let o=it(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=ye(e,o+s);if(i!==void 0&&a.has(i.reportHubId))return i.reportHubId;let l=ye(e,o-s);if(l!==void 0&&a.has(l.reportHubId))return l.reportHubId}}return n.reportHubId},Wl=(e,t,r,n)=>{if(r===null){let o=ye(t,0);return n&&o!==void 0?o.reportHubId:null}return it(t,r)!==-1?r:ny(e,t,r)},oy=(e,t,r)=>e.selected===null?r!==null&&it(t,r)!==-1?r:null:it(t,e.selected)!==-1?e.selected:ny(e.items,t,e.selected);import{useEffect as sy,useLayoutEffect as dC,useMemo as iy,useRef as ly,useSyncExternalStore as cC}from"react";var nC=1e3,oC=5e3,aC={combine:"union",committed:null,filters:Bl,generation:0,status:"idle",failure:null,items:null,answered:null},sC=e=>e===400?"invalid":e===404?"unavailable":e===429?"busy":"failed",iC=(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))),Kl=(e,t)=>e.length===t.length&&e.every((r,n)=>r===t[n]),lC=(e,t)=>{let r=Cs(e),n=Cs(t);return Kl(r.authors,n.authors)&&Kl(r.sourceTypes,n.sourceTypes)&&Kl(r.customers,n.customers)},ay=e=>{let t=aC,r=new Set,n=null,o=null,a=null,s=null,i=null,l=null,d=D=>{t=D;for(let T of r)T()},c=()=>{s!==null&&clearTimeout(s),i!==null&&clearTimeout(i),s=null,i=null},u=(D,T)=>{let _=t.answered;return _!==null&&_.query.text===D.text&&_.query.combine===D.combine&&iC(_.words,T)?_:{query:{text:D.text,combine:D.combine},words:T}},p=D=>{let T=new URLSearchParams({[Ce.searchQuery]:D.text,[Ce.searchCombine]:D.combine});return Kf(T,D.filters),`${e.apiBasePath}/${ke.search}?${T.toString()}`},f=(D,T,_,I)=>{if(!_){d({...t,status:"failed",failure:D});return}l!==I&&(l=I,i=setTimeout(()=>{i=null,h(T,!0)},oC))},y=async(D,T,_)=>{let I=new AbortController;n={controller:I};let O={Accept:"application/json"};_&&a!==null&&a.generation===T&&(O["If-None-Match"]=a.value);try{let M=await e.fetch(p(D),{headers:O,cache:"no-store",signal:I.signal});if(I.signal.aborted||T!==t.generation)return;if(M.status===304){t.status!=="done"&&d({...t,status:"done",failure:null});return}if(M.status===401||M.status===403){e.onSessionExpired(),f("failed",D,!1,T);return}if(!M.ok){f(sC(M.status),D,_,T);return}let F=Yd(await M.json(),!Sr(D.text));if(I.signal.aborted||T!==t.generation)return;if(F===null){f("failed",D,_,T);return}let Y=M.headers.get("ETag");a=Y===null?null:{generation:T,value:Y},l=null,d({...t,status:"done",failure:null,items:F.items,answered:F.words.length===0?null:u(D,F.words)})}catch{if(I.signal.aborted||T!==t.generation)return;f("failed",D,_,T)}finally{if(n!==null&&n.controller===I&&(n=null),n===null&&o!==null){let M=o;o=null,h(M.query,M.background)}}},h=(D,T)=>{if(n!==null){o={query:D,background:(o===null||o.background)&&T};return}y(D,t.generation,T)};return{getSnapshot:()=>t,subscribe:D=>(r.add(D),()=>{r.delete(D)}),commit:(D,T,_)=>{if(Sr(D)&&vn(_))throw new Error("[daily-report] search: a blank text can be committed only with a filter");let I=As(_);if(I!==null)throw new Error(`[daily-report] search: the filter selection cannot be sent (${I})`);c();let O=t.committed,M=O!==null&&O.text===D&&O.combine===T&&lC(O.filters,_),F={text:D,combine:T,filters:_};d({...t,combine:T,committed:F,filters:_,generation:M?t.generation:t.generation+1,status:"searching",failure:null}),h(F,!1)},setCombine:D=>{D!==t.combine&&d({...t,combine:D})},release:()=>{c(),n?.controller.abort(),n=null,o=null,t.committed!==null&&d({combine:t.combine,committed:null,filters:Bl,generation:t.generation+1,status:"idle",failure:null,items:null,answered:null})},invalidate:()=>{let D=t.committed;D!==null&&(s!==null&&clearTimeout(s),s=setTimeout(()=>{s=null,h(D,!0)},nC))},dispose:()=>{c(),n?.controller.abort(),n=null,o=null}}};var dy=({apiBasePath:e,invalidation:t,onSessionExpired:r})=>{let n=ly(r);dC(()=>{n.current=r});let o=iy(()=>ay({apiBasePath:e,onSessionExpired:()=>n.current(),fetch:(i,l)=>fetch(i,l)}),[e]);sy(()=>()=>o.dispose(),[o]);let a=ly(t);sy(()=>{a.current!==t&&(a.current=t,o.invalidate())},[t,o]);let s=cC(o.subscribe,o.getSnapshot,o.getSnapshot);return iy(()=>({...s,commit:o.commit,setCombine:o.setCombine,release:o.release}),[s,o])};import{useCallback as cy,useEffect as uC,useLayoutEffect as pC,useMemo as $l,useRef as uy,useState as mC}from"react";var py=Object.freeze({status:"idle"}),fC=Object.freeze({status:"loading"}),yC=Object.freeze({sourceTypes:[],authors:[],customers:[]}),hC=e=>e===404?"unavailable":e===429?"busy":"failed",zl=(e,t)=>e.length===t.length&&e.every((r,n)=>r===t[n]),bC=(e,t)=>zl(e.sourceTypes,t.sourceTypes)&&zl(e.authors,t.authors)&&zl(e.customers,t.customers),RC=(e,t)=>"facets"in t?e.status!=="ready"||!bC(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},my=(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})),SC=(e,t)=>e.map(r=>fy(r,t));function fy(e,t){let r=Vt(e,t);return{value:e,label:r===void 0?e:r.label}}var yy=({apiBasePath:e,locale:t,sourceTypeConfigs:r,onSessionExpired:n})=>{let[o,a]=mC({apiBasePath:e,load:py}),s=o.apiBasePath===e?o.load:py,i=uy(null),l=uy({apiBasePath:e,onSessionExpired:n});pC(()=>{l.current={apiBasePath:e,onSessionExpired:n}}),uC(()=>()=>{i.current?.abort(),i.current=null},[e]);let d=cy(()=>{if(i.current!==null)return;let y=new AbortController;i.current=y;let h=l.current.apiBasePath;a(m=>m.apiBasePath===h&&m.load.status==="ready"?m:{apiBasePath:h,load:fC}),(async()=>{let m;try{let g=await fetch(`${h}/${ke.searchFacets}`,{headers:{Accept:"application/json"},cache:"no-cache",signal:y.signal});if(y.signal.aborted)return;if(g.status===401||g.status===403)l.current.onSessionExpired(),m={failure:"failed"};else if(!g.ok)m={failure:hC(g.status)};else{let R=$f(await g.json());if(y.signal.aborted)return;m=R===null?{failure:"failed"}:{facets:R}}}catch{if(y.signal.aborted)return;m={failure:"failed"}}i.current=null,a(g=>({apiBasePath:h,load:RC(g.load,m)}))})()},[]),c=s.status==="ready"?s.facets:yC,u=$l(()=>{let y=new Intl.Collator(t);return{authors:my(c.authors,y),sourceTypes:SC(c.sourceTypes,r),customers:my(c.customers,y)}},[c,t,r]),p=cy((y,h)=>y==="sourceType"?fy(h,r):{value:h,label:h},[r]),f=$l(()=>s.status==="ready"?{status:"ready",options:u,optionOf:p,reloadFailure:s.reloadFailure}:s,[s,u,p]);return $l(()=>({state:f,load:d}),[f,d])};import{useEffect as gy,useLayoutEffect as AC,useMemo as CC,useRef as Ey}from"react";var gC=4294967295,hy=e=>typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=gC,EC=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)||!Mn(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},DC=e=>{if(!(Ut(e)&&hy(e.fingerprint)))return null;if(Object.hasOwn(e,"dense"))return e.dense===!0&&!Object.hasOwn(e,"ranges")?{fingerprint:e.fingerprint,dense:!0}:null;let t=EC(e.ranges);return t===null?null:{fingerprint:e.fingerprint,ranges:t}},TC=e=>{if(!Ut(e))return null;let t={};for(let[r,n]of Object.entries(e)){if(!ln(r))return null;let o=DC(n);if(o===null)return null;t[r]=o}return t},by=(e,t)=>{if(!(Ut(e)&&hy(e.wordsDigest)&&Array.isArray(e.reports)&&Array.isArray(e.deferred)))return null;let r=new Set(t.requestedIds),n=new Set,o=2**t.setCount-1,a=[];for(let i of e.reports){if(!Ut(i))return null;let{reportHubId:l,matchedSets:d}=i;if(!(typeof l=="number"&&mt(l)&&r.has(l))||n.has(l)||(n.add(l),t.expectsMatchedSets?!(typeof d=="number"&&Number.isInteger(d)&&d>=0&&d<=o):d!==null))return null;let c=TC(i.fields);if(c===null)return null;a.push({reportHubId:l,matchedSets:d,fields:c})}let s=[];for(let i of e.deferred){if(!(typeof i=="number"&&mt(i)&&r.has(i))||n.has(i))return null;n.add(i),s.push(i)}return{wordsDigest:e.wordsDigest,reports:a,deferred:s}};var Ry=2*On*Bt.maxDetailIds,xC=240,Sy=({apiBasePath:e,fetch:t,answered:r,onSessionExpired:n})=>{let o=r.words.length,a=r.query.combine==="union"&&o>=2,s=nu(r.words),i=new Map,l=new Map,d=0,c=new Map,u=new Set,p=0,f=0,y=null,h=new Set,b=!1,m=w=>{let P=i.get(w);if(P!==void 0)return P;let j={entry:void 0,appliedSequence:0,settledEpoch:null,retriedEpoch:null,revalidated:new Set};return i.set(w,j),l.has(w)||(d+=1),j},g=w=>{for(let P of w){let j=i.get(P);j!==void 0&&(j.settledEpoch=null)}},R=()=>{if(!(d<=Ry))for(let w of[...i.keys()]){if(d<=Ry)return;l.has(w)||(i.delete(w),c.delete(w),d-=1)}},E=w=>{let P=l.get(w);if(P!==void 0)for(let j of[...P])j()},D=w=>{let P=new URLSearchParams({[Ce.searchQuery]:r.query.text,[Ce.searchCombine]:r.query.combine,[Ce.reportIds]:w.join(",")});return`${e}/${ke.searchMarks}?${P.toString()}`},T=(w,P)=>{for(let j of w){let B=m(j.reportHubId);B.appliedSequence>P||(B.appliedSequence=P,B.entry=j,i.delete(j.reportHubId),i.set(j.reportHubId,B),E(j.reportHubId))}R()},_=(w,P)=>{let j=[];for(let $ of w){let G=i.get($);G!==void 0&&G.retriedEpoch!==p&&j.push({id:$,record:G})}if(j.length===0)return;let Z=setTimeout(()=>{u.delete(Z);for(let{id:$,record:G}of j){let ue=c.get($);ue===void 0||ue.timer!==Z||(c.delete($),l.has($)?(G.retriedEpoch=p,V.enqueue($)):G.settledEpoch=null)}},P);u.add(Z);for(let{id:$,record:G}of j)c.set($,{timer:Z,record:G})},I=w=>{for(let P of w)l.has(P)?V.enqueue(P):g([P])},O=async(w,P)=>{f+=1;let j=f,B=p;for(let ue of w)m(ue).settledEpoch=p,c.delete(ue);R();let Z;try{Z=await t(D(w),{headers:{Accept:"application/json"},cache:"no-store",signal:P})}catch{return}if(Z.status===401||Z.status===403){n();return}if(Z.status===429){let ue=na(Z);ue!==null&&B===p&&_(w,ue);return}if(!Z.ok)return;let $;try{$=await Z.json()}catch{return}let G=by($,{requestedIds:w,setCount:o,expectsMatchedSets:a});P.aborted||G===null||G.wordsDigest!==s||(T(G.reports,j),B===p&&G.reports.length>0&&I(G.deferred))},M=()=>{b=!0,queueMicrotask(()=>{b=!1}),y=setTimeout(F,xC)},F=()=>{if(y=null,h.size!==0){for(let w of h)V.enqueue(w);h.clear(),M()}},Y=w=>{if(y!==null&&!b){h.add(w);return}V.enqueue(w),y===null&&M()},V=Go({hasListener:w=>l.has(w),batchSize:Bt.maxDetailIds,inFlightBound:On,send:O});return{indicator:Object.freeze({setCount:o,showsMatchedSets:a}),subscribe:(w,P)=>{let j=l.get(w);j===void 0&&(j=new Set,l.set(w,j),i.has(w)&&(d-=1)),j.add(P);let B=i.get(w),Z=B!==void 0&&B.settledEpoch===p;return j.size===1&&!Z&&!V.isWanted(w)&&!h.has(w)&&Y(w),()=>{let $=l.get(w);$===void 0||!$.delete(P)||$.size>0||(l.delete(w),i.has(w)&&(d+=1),h.delete(w),g(V.release(w)),R())}},read:w=>{let P=i.get(w);return P===void 0?void 0:P.entry},revalidate:(w,P,j)=>{let B=m(w),Z=`${P}\0${j}`;B.revalidated.has(Z)||(B.revalidated.add(Z),h.delete(w),V.enqueue(w))},advanceEpoch:()=>{p+=1;for(let w of u)clearTimeout(w);u.clear(),c.clear(),h.clear();for(let w of l.keys())V.enqueue(w)},dispose:()=>{for(let P of u)clearTimeout(P);u.clear();let w=[...c.keys(),...h];c.clear(),h.clear(),y!==null&&clearTimeout(y),y=null,g([...V.dispose(),...w])}}};var Dy=({apiBasePath:e,answered:t,shownRevision:r,onSessionExpired:n})=>{let o=Ey(n);AC(()=>{o.current=n});let a=CC(()=>t===null?null:Sy({apiBasePath:e,answered:t,onSessionExpired:()=>o.current(),fetch:(i,l)=>fetch(i,l)}),[e,t]);gy(()=>{if(a!==null)return()=>a.dispose()},[a]);let s=Ey({store:a,shownRevision:r});return gy(()=>{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 Ao from"@radix-ui/react-switch";import*as xy from"react";import{jsx as Ty}from"react/jsx-runtime";var _s=xy.forwardRef(({className:e,...t},r)=>Ty(Ao.Root,{className:x(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${ld} ${cd} ${ne}`,e),...t,ref:r,children:Ty(Ao.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${dd} ${ud}`})}));_s.displayName=Ao.Root.displayName;import{useSyncExternalStore as IC}from"react";var Ay=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)})}},jl=e=>IC(e.subscribe,e.get,e.get);import{Fragment as QC,jsx as oe,jsxs as Et}from"react/jsx-runtime";var NC="list",OC=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},MC=()=>({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),kC=x(md,Cd,"flex flex-wrap items-center gap-2"),PC=x("@container/views",rt),FC=x("mt-0",rt),HC=x("flex flex-1 items-center justify-center",$r),vy="relative h-4 w-4 p-0 after:absolute after:-inset-1",BC="flex items-center gap-2",UC=x(vy,"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"),VC=x(vy,"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"),WC=({count:e})=>{let{labels:t}=q(),[r,n]=Vr(null),o=Vf(e,r);return oe(ys,{ref:n,text:t.totalCount(o),widestText:t.totalCount(ho(Math.max(e,o)))})},KC=({setSize:e,isSearchAnswer:t})=>{let{labels:r}=q();return t?oe("span",{children:r.searchHitCount(e)}):e===jn?oe("span",{children:r.totalCountLoading}):oe(WC,{count:e})},$C=({checked:e,onCheckedChange:t})=>{let{labels:r}=q(),n=Cy(),o=Cy();return Et("div",{className:"flex items-center gap-1 pl-1",children:[oe(_s,{id:n,checked:e,onCheckedChange:t,title:r.autoReadTitle,"aria-describedby":o}),oe(uo,{htmlFor:n,className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:r.autoRead}),oe("span",{id:o,hidden:!0,children:r.autoReadTitle})]})},zC=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let s=jl(e);return oe(kl,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:s,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},jC=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=jl(e);return oe(El,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},YC=({tabItems:e,actions:t,searchRow:r})=>{let[n,o]=Vr(NC),{labels:a}=q();return Et(So,{value:n,onValueChange:s=>o(OC(s)),className:PC,children:[Et("div",{className:x(yd,Id,vd[n]),children:[Et("div",{className:kC,children:[oe(go,{"aria-label":a.viewTabList,className:"flex flex-wrap gap-1",...Pu,children:e.map(({value:s,label:i})=>oe(Eo,{value:s,children:i},s))}),t]}),r]}),e.map(({value:s,content:i})=>oe(Tn,{value:s,tabStop:!1,className:FC,children:i},s))]})},GC=Object.freeze({items:null,generation:0,revision:0,change:"none",scrollRequest:null,restoreOnRelease:!0}),qC=(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}},XC=({answer:e,hasAnswerOnlyItems:t})=>{let{phase:r,isRevalidating:n}=cn(),o=r==="complete"&&!n,a=_n(null);return Yl(()=>{!(o&&t)||a.current===e||(a.current=e,Jn())},[o,t,e]),null},Gl=({userId:e})=>{let[t,r]=Vr(!1),{labels:n,renderHeader:o,showDevControls:a,apiBasePath:s,onSessionExpired:i,search:l,locale:d,sourceTypeConfigs:c}=q(),{toggleSse:u,createReport:p,refetchData:f,clearCacheAndRefetch:y}=Be(),{isSseEnabled:h,items:b,searchInvalidation:m,isReportRemoved:g,removedVersion:R}=Ka(),[E]=LC(),D=dy({apiBasePath:s,invalidation:m,onSessionExpired:i}),T=yy({apiBasePath:s,locale:d,sourceTypeConfigs:c,onSessionExpired:i}),_=l===null||D.committed===null?null:D.items,[I,O]=Vr(GC);I.items!==_&&O(qC(I,_,D.generation));let M=ws(()=>_===null?null:ty(_),[_]),F=ws(()=>ry(M,b,g),[M,b,g,R]),Y=F.items,V=Xc(b.length,Cu()),w=_===null?V:Y.length,[P,j]=Vr(0),[B]=Vr(()=>({preSearchTopReportId:null})),Z=ws(()=>({request:I.scrollRequest,slot:B}),[I.scrollRequest,B]),$=Dy({apiBasePath:s,answered:_===null?null:D.answered,shownRevision:I.revision,onSessionExpired:i}),G=_n(0),ue=as(MC),[pe]=Vr(()=>Ay(di(Y))),We=_n(null),je=_n(Y),me=_n(I.revision);Iy(()=>{if(me.current===I.revision)return;me.current=I.revision;let Ae=je.current,_e=pe.get(),ge=_e;I.change==="enter"?(We.current={selected:_e,items:Ae},ge=Wl(Ae,Y,_e,!0)):I.change==="start"||I.change==="update"?ge=Wl(Ae,Y,_e,I.change==="start"):I.change==="restore"&&We.current!==null&&(ge=oy(We.current,Y,_e)),(I.change==="restore"||I.change==="release")&&(We.current=null),ge!==_e&&pe.set(ge)},[I,Y,pe]),Iy(()=>{je.current=Y},[Y]);let ie=_n(!1);Yl(()=>{let Ae=di(Y);!ie.current&&Ae!==null&&(ie.current=!0,pe.get()===null&&pe.set(Ae))},[Y,pe]);let Ne=async()=>{await f()},qe=async()=>{await y()},ut=async()=>{let _e=E.get("businessDate")||Ps();D.committed!==null&&(O(Xe=>({...Xe,restoreOnRelease:!1})),j(Xe=>Xe+1),D.release());let ge=await p(_e);pe.set(ge)};Yl(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let Dt=Ae=>{r(Ae),localStorage.setItem("daily-report-auto-read",String(Ae))},Tt=ws(()=>[{value:"list",label:n.tabList,content:oe(zC,{selectionStore:pe,dailyReportItems:Y,rowSetSize:w,autoMarkRead:t,userId:e,scrollOffsetRef:G})},{value:"tree",label:n.tabTree,content:oe("div",{className:HC,children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:oe(jC,{selectionStore:pe,dailyReportItems:Y,rowSetSize:w,userId:e,scrollRestoreRef:ue})}],[Y,w,t,e,n,pe,ue]);return Et(QC,{children:[o({title:n.title,annotation:Et("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[oe(bo,{}),oe(KC,{setSize:w,isSearchAnswer:_!==null}),oe("span",{children:n.debounce(Gr)})]})}),oe("div",{className:Mo,children:Et("div",{className:ko,children:[_!==null&&oe(XC,{answer:_,hasAnswerOnlyItems:F.hasAnswerOnlyItems}),oe(sa.Provider,{value:_===null?"date":"ids",children:oe(lt.Provider,{value:$,children:oe(ui.Provider,{value:Z,children:oe(YC,{tabItems:Tt,searchRow:l===null?null:oe(Jf,{labels:n,debounceMs:l.debounceMs,search:D,onCommit:D.commit,onCombineChange:D.setCombine,onRelease:D.release,clearSignal:P,filters:l.renderFilterSelect===null?null:{renderFilterSelect:l.renderFilterSelect,locale:d,facets:T}}),actions:Et("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[Et(qt,{size:"sm",onClick:ut,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:[oe(vC,{className:"h-3 w-3"}),oe("span",{children:n.createReport})]}),a&&Et("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:[oe("span",{className:"select-none font-bold font-mono text-amber-800 text-xs uppercase dark:text-amber-200",children:"dev"}),oe(_s,{"aria-label":n.devSseToggle,title:n.devSseToggle,checked:h,onCheckedChange:u}),Et("div",{className:BC,"data-testid":"dev-icon-buttons",children:[oe(qt,{variant:"ghost",size:"icon",onClick:Ne,className:UC,title:n.devReload,"data-testid":"dev-reload-btn",children:oe(wC,{className:"size-3"})}),oe(qt,{variant:"ghost",size:"icon",onClick:qe,className:VC,title:n.devClearCache,"data-testid":"dev-clear-cache-btn",children:oe(_C,{className:"size-3"})})]})]}),oe($C,{checked:t,onCheckedChange:Dt})]})})})})})]})})]})};import{Fragment as wy,jsx as xe,jsxs as Co}from"react/jsx-runtime";var JC=x(rt,or),eI=x("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",xt,ne),tI=x("font-bold",wn),rI=x("font-medium",wn),nI=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",ne),oI=({isFailed:e,handOver:t})=>{let{labels:r,renderHeader:n}=q(),o=Ny(null),a=ZC(i=>(o.current=i,t.take()&&Wt(i)&&vt([i]),()=>{o.current=null,i.contains(Ie(i))&&t.request()}),[t]),s=()=>{vt([o.current]),_a()};return Co(wy,{children:[n({title:r.title,annotation:e?xe("span",{className:tI,children:r.loadErrorBadge}):Co("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[xe(bo,{}),xe("span",{children:r.totalCountLoading}),xe("span",{children:r.debounce(Gr)})]})}),xe("div",{className:Mo,children:xe("div",{className:ko,children:xe("div",{className:JC,children:xe("div",{ref:a,tabIndex:-1,...Hu,"data-testid":"daily-report-status-panel","data-phase":e?"failed":"loading",className:x(eI,e&&"border-red-200 dark:border-red-900"),children:e?Co(wy,{children:[xe("p",{className:rI,children:r.loadError}),xe("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:s,className:nI,children:r.reload})]}):xe("p",{children:r.loadingIds})})})})})]})},aI=(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:""},sI=Object.freeze({status:"",alert:""}),iI=()=>{let{labels:e}=q(),t=aI(xu(),e),[r]=ql(t),[n,o]=ql(!1),a=n||t.status!==r.status||t.alert!==r.alert;Ly(()=>{a&&!n&&o(!0)},[a,n]);let{status:s,alert:i}=a?t:sI;return Co("div",{"data-testid":"daily-report-stream-announcer",className:"sr-only",children:[xe("p",{role:"status",children:s}),xe("p",{role:"alert",children:i})]})},lI=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=q(),o=cn(),[a]=ql(rf),s=Ny(n);Ly(()=>{s.current=n}),_y(()=>{Xn({apiBasePath:r,userKey:t??null})},[r,t]),_y(()=>{o.phase==="auth-required"&&s.current()},[o.phase]);let i=o.hasItems||o.phase==="complete";return Co(Ii,{children:[xe(iI,{}),xe(Dl.Provider,{value:!1,children:xe(Rl.Provider,{value:a,children:xe(Ui,{user:e,userId:t,children:i?xe(Gl,{userId:t}):xe(oI,{isFailed:o.phase==="failed",handOver:a})},t??"anonymous")})})]})},dI=({config:e,...t})=>xe(zs,{config:e,children:xe(lI,{...t})});var cI=new Set(ou.filter(e=>e!=="clearCache")),uI=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:s,formMethod:i,json:l,nextUrl:d,text:c})=>{if(!n)return!1;if(!(r.pathname===d.pathname&&r.search===d.search&&r.hash===d.hash))return n;if(a){let f=a.get(Ze.intent);if(typeof f=="string"&&cI.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||c!==void 0?n:!1},pI=e=>{let t=async r=>{gi();let n=await r.serverLoader(),o=n.userId;return Si({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};export{nc as DAILY_REPORT_LABEL_CATALOGS,Us as DAILY_REPORT_LABEL_KEYS,Io as DAILY_REPORT_LATTICE_BLOCK_QUANTUM_CLASS_NAME,Kh as DAILY_REPORT_LAYOUT_LATTICE_PX,MA as DAILY_REPORT_SEARCH_FILTER_FACETS,Ui as DailyReportActionProvider,Ln as DailyReportAttachmentIndicator,zs as DailyReportConfigProvider,El as DailyReportDetailList,Ii as DailyReportErrorProvider,Gn as DailyReportIdsStreamClient,bo as DailyReportIdsStreamStatus,kl as DailyReportList,dI as DailyReportPage,Gl as DailyReportResolvedContent,Si as bootstrapDailyReportIdsStreamSession,pI as createDailyReportClientLoader,uI as dailyReportShouldRevalidate,Pn as defaultDailyReportClientConfig,Xn as ensureDailyReportIdsStreamSession,gi as primeDailyReportIdsStreamSession,Ks as resolveDailyReportLabels,Vt as resolveSourceTypeConfig,wa as resyncDailyReportIdsStream,hS as useDailyReportActionContext,al as useDailyReportComments,q as useDailyReportConfig,Ar as useDailyReportDetail,IR as useDailyReportIdsStream,ti as useDailyReportPrefetch,Ti as useDailyReportSseConnection};
|
|
1
|
+
import ZR from"lucide-react/dist/esm/icons/paperclip.js";var GR="data-daily-report-row-surface",ct={[GR]:"",role:"gridcell"},zd="data-daily-report-active",an="data-daily-report-scrolling",zt=8,YR=4,$d=zt-YR;var jo="[--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]",yr=`${jo} h-[calc-size(auto,round(up,size,var(--aqdr-lattice-block)))]`,hr="p-[8px]",jd="pr-[8px]",Go="contain-size contain-layout contain-style",Gd="contain-strict",$t="pointer-events-none absolute size-px whitespace-nowrap opacity-0 select-none contain-layout",ee="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",jt="border-slate-500 placeholder:text-slate-500 dark:border-slate-500 dark:placeholder:text-slate-400",Yd="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",Ri="scrollbar-thin [scrollbar-gutter:stable]",bi=`-m-[4px] overflow-hidden p-[4px] ${Ri}`,qd="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",Yo="rounded-[calc(var(--radius-2xl)+8px)]",qo="outline-none [:where([data-daily-report-keyboard-focus])_:where(:focus-visible)_&]:[&[data-daily-report-active]>:where([data-daily-report-row-surface])]:outline-2 [:where([data-daily-report-keyboard-focus])_:where(:focus-visible)_&]:[&[data-daily-report-active]>:where([data-daily-report-row-surface])]:outline-offset-4 [:where([data-daily-report-keyboard-focus])_:where(:focus-visible)_&]:[&[data-daily-report-active]>:where([data-daily-report-row-surface])]:outline-blue-600 dark:[:where([data-daily-report-keyboard-focus])_:where(:focus-visible)_&]:[&[data-daily-report-active]>:where([data-daily-report-row-surface])]:outline-blue-400 [&[aria-selected=true]>:where([data-daily-report-row-surface])]:ring-2 [&[aria-selected=true]>:where([data-daily-report-row-surface])]:ring-blue-500 [&[aria-selected=true]>:where([data-daily-report-row-surface])]:shadow-transparent forced-colors:[&[aria-selected=true]]:outline-2 forced-colors:[&[aria-selected=true]]:outline-solid forced-colors:[&[aria-selected=true]]:-outline-offset-8 forced-colors:[&[aria-selected=true]]:outline-[Highlight]",Xd="[: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",Nt="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",Xo=16,sn="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",Zd=12,Zo="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200";var Qd="min-h-24",Jd="flex h-6 items-center",Qo="[--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",We=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${ee}`,ec="-mx-1",tc="flex items-center gap-1",Ke="inline-flex h-6 items-center rounded-full px-3",rc="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",nc="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",fr="size-4",Pe={starOff:`${fr} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${fr} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${fr} text-blue-600 dark:text-blue-400`,delete:`${fr} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${fr} text-red-600 dark:text-red-400`,edit:`${fr} text-slate-500 dark:text-slate-400`},oc="h-6 w-10 border-4 border-solid",ac="size-4 data-[state=checked]:translate-x-4",sc="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]",ic="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var lc="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",dc="rounded-xl border border-solid p-[3px]",cc="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",qR="supports-[margin-left:round(down,1px,1px)]:ml-[max(0px,round(down,calc((100%-72rem)/2),var(--aqdr-lattice-block)))]",XR="bg-slate-50 dark:bg-slate-950",ut="flex min-h-0 flex-1 flex-col",Jo=`${ut} ${XR}`,ea=`${ut} mx-auto w-full max-w-6xl ${jo} px-[var(--aqdr-lattice-block)] pt-[var(--aqdr-lattice-block)] ${qR}`,uc=`relative z-[1] flex shrink-0 flex-col ${yr}`,pc="flex grow flex-col justify-between",mc="grid min-w-0 grid-cols-[max-content_minmax(0,1fr)_max-content] grid-rows-[minmax(2rem,auto)_auto] items-end",fc="grid min-w-0 grid-cols-1 gap-2 sm:grid-cols-[minmax(0,2fr)_minmax(0,1fr)_minmax(0,3fr)]",yc="m-0 min-w-0 border-0 p-0",hc="mb-1 p-0 text-slate-700 text-xs leading-4 dark:text-slate-200",Rc="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]",$n="text-red-700 dark:text-red-400",bc="bg-white dark:bg-slate-900",ta=`min-h-0 flex-1 overflow-clip contain-size ${jo}`,ra="flex h-full flex-col contain-size contain-layout contain-style",Sc="relative inline-block whitespace-nowrap tabular-nums",na="invisible grid",Or="col-start-1 row-start-1",gc="absolute inset-0 contain-size contain-layout contain-style",oa="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",Ec="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",Tc="ml-[8px]",Ac={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},Mr="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",Gt=`m-0 ${Mr}`,Yt="text-balance wrap-anywhere [word-break:auto-phrase]",Dc="[--aqdr-scroll-bar-thumb:var(--color-slate-500)] [--aqdr-scroll-bar-track:var(--color-slate-100)] dark:[--aqdr-scroll-bar-track:var(--color-slate-900)]",aa=`${Dc} [&_.aqvs-scrollbar]:bg-(--aqdr-scroll-bar-track) [&_.aqvs-scrollbar-track]:bg-(--aqdr-scroll-bar-track) [&_.aqvs-scrollbar-thumb]:bg-(--aqdr-scroll-bar-thumb) [&_.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-(--aqdr-scroll-bar-thumb) [&_.aqvs-scrollbar-arrow-button]:bg-(--aqdr-scroll-bar-track) [&_.aqvs-scrollbar-arrow-button]:text-slate-600 [&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-200 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-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]`,sa="[--aqvs-focus-ring-color:var(--color-blue-600)] dark:[--aqvs-focus-ring-color:var(--color-blue-400)]",wc=`${Dc} [scrollbar-color:var(--aqdr-scroll-bar-thumb)_var(--aqdr-scroll-bar-track)]`;import{jsx as xc,jsxs as JR}from"react/jsx-runtime";var QR=2,jn=({id:e,count:t,label:r})=>t<=0?null:JR("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:[xc(ZR,{className:fr,"aria-hidden":"true"}),t>=QR&&xc("span",{className:"font-semibold text-xs leading-4",children:t})]});import{useCallback as He,useEffect as vr,useLayoutEffect as yh,useMemo as md,useRef as tt,useState as Zs}from"react";var Pr=Object.freeze({text:"",runs:Object.freeze([])}),pt=e=>e.length===0?Pr:{text:e,runs:[{displayStart:0,displayEnd:e.length,sourceStart:0,sourceEnd:e.length}]},Ic=(e,t,r)=>t>=r?Pr:{text:e.slice(t,r),runs:[{displayStart:0,displayEnd:r-t,sourceStart:t,sourceEnd:r}]},Si=(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}))},gi=e=>e.displayEnd-e.displayStart===e.sourceEnd-e.sourceStart,Gn=(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),s=Math.min(o.displayEnd,r);if(!(a>=s))if(gi(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(...Si(a-t,s-t,o.sourceStart,o.sourceEnd))}return{text:e.text.slice(t,r),runs:n}},ln=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}},Ei=e=>{let t=e.text.trimEnd().length,r=Math.min(t,e.text.length-e.text.trimStart().length);return Gn(e,r,t)},Rr=e=>typeof e=="string"?Ei(pt(e)):Pr,ia=(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(d=>d!==null);if(n.length===0)return e;let o="",a=[],s=0,i=(d,c)=>{if(d>=c)return;let p=o.length-d;for(;s<e.runs.length&&e.runs[s].displayEnd<=d;)s+=1;for(let u=s;u<e.runs.length&&e.runs[u].displayStart<c;u++){let y=e.runs[u],m=Math.max(y.displayStart,d),f=Math.min(y.displayEnd,c);if(!(m>=f))if(gi(y)){let b=y.sourceStart+(m-y.displayStart);a.push({displayStart:m+p,displayEnd:f+p,sourceStart:b,sourceEnd:b+(f-m)})}else a.push(...Si(m+p,f+p,y.sourceStart,y.sourceEnd))}o+=e.text.slice(d,c)},l=0;for(let d of n)i(l,d.index),o+=r,l=d.index+d[0].length;return i(l,e.text.length),o.length===0?Pr:{text:o,runs:a}},eb=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},tb=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 d=e.slice(a,t[i]).normalize("NFC");if(s.startsWith(d)&&d+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},vc=e=>{let t=e.normalize("NFC");if(t===e)return pt(e);let r=eb(e),n=r.map(s=>s.shown).join("")===t?r:tb(e),o=[],a=0;for(let{start:s,end:i,shown:l}of n){let d=a+l.length;l===e.slice(s,i)?o.push({displayStart:a,displayEnd:d,sourceStart:s,sourceEnd:i}):o.push(...Si(a,d,s,i)),a=d}return{text:t,runs:o}},Cc=(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 d=s+i>>>1;t[d*3+1]<=a.sourceStart?s=d+1:i=d}if(gi(a)){for(let d=s;d<o&&t[d*3]<a.sourceEnd;d++){let c=Math.max(t[d*3],a.sourceStart),p=Math.min(t[d*3+1],a.sourceEnd);n(a.displayStart+(c-a.sourceStart),a.displayStart+(p-a.sourceStart),t[d*3+2])}continue}let l=Number.POSITIVE_INFINITY;for(let d=s;d<o&&t[d*3]<a.sourceEnd;d++)l=Math.min(l,t[d*3+2]);l!==Number.POSITIVE_INFINITY&&n(a.displayStart,a.displayEnd,l)}return r},_c=String.raw`<br\s*\/?\s*>`,Lc=String.raw`<\/p>`,Nc="<[^>]+>",rb=new RegExp(String.raw`(${_c}|${Lc}|\r?\n)|${Nc}`,"gi"),Oc=new RegExp(_c,"gi"),nb=new RegExp(Lc,"gi"),ob=new RegExp(Nc,"g"),Mc=(e,t)=>{if(!e)return[];let r=[],n=[],o=0,a=()=>{let s=ln(n);n=[];let i=Ei({text:s.text.replace(/ /g," "),runs:s.runs});i.text.length>0&&r.push(i)};for(let s of e.matchAll(rb))if(n.push(Ic(e,o,s.index)),o=s.index+s[0].length,s[1]!==void 0&&(a(),r.length===t))return r;return n.push(Ic(e,o,e.length)),a(),r},Pc=e=>ia(ia(ia(pt(e),Oc,`
|
|
2
|
+
`),nb,`
|
|
3
|
+
`),ob,""),kc=e=>e?Ei(ia(pt(e),Oc,`
|
|
4
|
+
`)):Pr;var ab=Object.freeze({text:"-",runs:Object.freeze([])}),ke=e=>{let t=Rr(e);return t.text===""?ab:t},br=e=>ke(e).text,Se=e=>{if(!e)return"-";if(typeof e!="string")return e instanceof Date?Se(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"),d=String(n.getMinutes()).padStart(2,"0"),c=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${s}T${l}:${d}:${c}`}return`${o}-${a}-${s}`};import{createContext as SS,useCallback as gS,useContext as Ou,useEffect as _u,useRef as ES,useState as TS}from"react";import{z as oo}from"zod/v3";var sb=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var la=e=>e<10?`0${e}`:`${e}`,ib=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=la(e.getMonth()+1),n=la(e.getDate());return`${t}-${r}-${n}`},Fc=e=>{let t=sb.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}`},Yn=e=>Fc(e)===e,Hc=(e=new Date)=>{if(Number.isNaN(e.getTime()))throw new Error("[daily-report] resolveTodayBusinessDateKey needs a valid Date");return`${e.getFullYear()}-${la(e.getMonth()+1)}-${la(e.getDate())}`},kr=e=>e==null?null:e instanceof Date?ib(e):Fc(e);import{z as lb}from"zod/v3";var mt=e=>Number.isSafeInteger(e)&&e>0,we=lb.number().int().positive().max(Number.MAX_SAFE_INTEGER);import{z as ge}from"zod/v3";var da=/^(?:[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 Fr=Symbol("daily-report wire mismatch"),Ot=(e,t,r)=>(e.issues.push({...r,path:t===null?[...e.path]:[...e.path,t]}),Fr),Wc=e=>e===null?"null":Array.isArray(e)?"array":Number.isNaN(e)?"nan":typeof e,Hr=(e,t)=>({code:"invalid_type",expected:e,received:Wc(t)}),db=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),cb=e=>{let t=0;for(let r in e)t+=1;return t},Bc=(e,t,r)=>{let n={};for(let o=0;o<r;o+=1){let a=t[o];a in e&&(n[a]=e[a])}return n},dn=e=>{let t=Object.keys(e),r=Object.values(e);return(n,o)=>{if(!db(n))return Ot(o,null,Hr("object",n));let a=null,s=!1,i=0;for(let l=0;l<t.length;l+=1){let d=t[l],c=n[d];c!==void 0&&(i+=1);let p=r[l](c,o,d);if(p===Fr){s=!0;continue}a===null&&p!==c&&(a=Bc(n,t,l)),a!==null&&(p!==void 0||d in n)&&(a[d]=p)}return s?Fr:a!==null?a:cb(n)===i?n:Bc(n,t,t.length)}},qn=e=>(t,r,n)=>{r.path.push(n);let o=e(t,r);return r.path.pop(),o},Xn=e=>(t,r,n)=>{if(!Array.isArray(t))return Ot(r,n,Hr("array",t));r.path.push(n);let o=t,a=!1;for(let s=0;s<t.length;s+=1){let i=t[s],l=e(i,r,s);l===Fr?a=!0:l!==i&&(o===t&&(o=t.slice()),o[s]=l)}return r.path.pop(),a?Fr:o},ue=(e,t,r)=>e==null||typeof e=="string"?e:Ot(t,r,Hr("string",e)),Vc=(e,t,r)=>e===null||typeof e=="string"?e:Ot(t,r,Hr("string",e)),Uc=(e,t,r)=>typeof e=="string"?e:Ot(t,r,Hr("string",e)),ub=(e,t,r)=>e===null||typeof e=="number"&&!Number.isNaN(e)?e:Ot(t,r,Hr("number",e)),Zn=(e,t,r)=>typeof e=="boolean"?e:Ot(t,r,Hr("boolean",e)),Ti=(e,t,r)=>{if(typeof e=="number"&&mt(e))return e;for(let{message:n,path:o,...a}of we.safeParse(e).error.issues)Ot(t,r,a);return Fr},Kc={present:!0,absent:!0,unknown:!0},zc=Object.keys(Kc),pb=zc.map(e=>`'${e}'`).join(" | "),mb=(e,t,r)=>typeof e!="string"?Ot(t,r,{code:"invalid_type",expected:pb,received:Wc(e)}):Object.hasOwn(Kc,e)?e:Ot(t,r,{code:"invalid_enum_value",received:e,options:[...zc]}),$c=dn({name:ue,affiliation:ue}),jc=dn({name:ue,text:ue,color:ue}),Gc=dn({id:Ti,name:ue,color:ue}),Yc=dn({id:Ti,userId:ue,userName:ue,content:ue,createdAt:ue,isMine:Zn}),fb=dn({id:Uc,fileName:Uc,fileType:Vc,fileSize:ub,createdAt:Vc,state:mb,hasThumbnail:Zn}),yb=dn({reportHubId:Ti,date:ue,createdAt:ue,author:ue,userId:ue,sourceType:ue,employeeName:ue,updatedBy:ue,updatedAt:ue,category:ue,creationCategory:ue,visitTimeFrom:ue,visitTimeTo:ue,customerName:ue,interviewers:Xn(qn($c)),subject:ue,content:ue,externalComments:Xn(qn(jc)),isRead:Zn,isStarred:Zn,isDraft:Zn,labels:Xn(qn(Gc)),postedComments:Xn(qn(Yc)),attachments:Xn(qn(fb))}),Qn=(e,t)=>{let r={path:[],issues:[]},n=e(t,r);return n===Fr?{ok:!1,issues:r.issues}:{ok:!0,value:n}},qc=e=>Qn(yb,e),Xc=e=>Qn($c,e),Zc=e=>Qn(jc,e),Qc=e=>Qn(Gc,e),Jc=e=>Qn(Yc,e);var eu=["auth-required","forbidden","resync-required"],Ai=15e3,tu="lastEventId",hb=/^\d{1,15}-\d{1,15}$/,ca=e=>hb.test(e),Jn=e=>ge.unknown().transform((t,r)=>{let n=e(t);if(n.ok)return n.value;for(let o of n.issues)r.addIssue({...o,fatal:!0});return ge.NEVER}),N_=Jn(Xc),O_=Jn(Zc),M_=Jn(Qc),Di=Jn(Jc),Mt=Jn(qc),Br=ge.string().regex(da),Rb=ge.object({type:ge.literal("connected")}),bb=ge.object({type:ge.literal("status-update"),reportHubId:we,statusType:ge.enum(["star","read"]),value:ge.boolean(),clientTempId:Br,recipientRawUserId:we.optional()}),wi=ge.string(),Sb=ge.object({type:ge.literal("comment-add"),reportHubId:we,comment:Di,clientTempId:Br,recipientRawUserId:we.optional(),sourceType:wi}),gb=ge.object({type:ge.literal("comment-delete"),reportHubId:we,commentId:we,clientTempId:Br,recipientRawUserId:we.optional(),sourceType:wi}),Eb=ge.object({type:ge.literal("report-create"),reportHubId:we,report:Mt,clientTempId:Br,recipientRawUserId:we.optional()}),Tb=ge.object({type:ge.literal("report-update"),reportHubId:we,report:Mt,clientTempId:Br,recipientRawUserId:we.optional()}),Ab=ge.object({type:ge.literal("report-publish"),reportHubId:we,report:Mt,clientTempId:Br,recipientRawUserId:we.optional()}),Db=ge.object({type:ge.literal("report-delete"),reportHubId:we,clientTempId:Br,sourceType:wi}),ru=ge.discriminatedUnion("type",[Rb,bb,Sb,gb,Eb,Tb,Ab,Db]);var ua="ids-columns",xi=e=>{if(typeof e!="object"||e===null)return"unknown";let{kind:t}=e;return t==="chunk"?"chunk":t==="error"?"error":"unknown"},wb=e=>typeof e=="number"&&mt(e),xb=e=>{if(typeof e!="object"||e===null)return!1;let{businessDate:t,reportHubId:r}=e;return(t===null||typeof t=="string")&&typeof r=="number"},Ib=4,vb=e=>{let t=Ib;for(;2**t<e*2;)t+=1;let r=new Float64Array(2**t),n=r.length-1,o=32-t;return a=>{let s=Math.imul(a|0,2654435761)>>>o;for(;;){let i=r[s];if(i===0)return r[s]=a,!0;if(i===a)return!1;s=s+1&n}}},Cb=/^[0-9a-f]{1,16}$/,_b=e=>mt(e.reportHubId)&&(e.businessDate===null||Yn(e.businessDate)),Lb=e=>typeof e=="string"&&Cb.test(e),Nb=Object.freeze({kind:"absent"}),Ob=Object.freeze({kind:"value",value:null}),Mb=e=>e===void 0?Nb:e===null?Ob:typeof e=="string"&&ca(e)?{kind:"value",value:e}:{kind:"malformed",received:e},nu=e=>{if(xi(e)!=="chunk")return null;let{ids:t,dates:r,counts:n,sourceTypes:o,sources:a,isLast:s,nextCursor:i,total:l,snapshot:d,provisional:c,restarted:p,streamAnchor:u}=e;if(typeof s!="boolean"||!(i===null||xb(i))||!(Array.isArray(t)&&Array.isArray(r)&&Array.isArray(n)&&Array.isArray(o)&&Array.isArray(a))||r.length!==n.length||a.length!==t.length)return null;for(let R of o)if(!(R===null||typeof R=="string"))return null;let y=vb(t.length),m=0,f=null,b=0;for(let R=0;R<r.length;R++){let E=r[R],h=n[R];if(!(E===null||typeof E=="string"&&Yn(E))||R>0&&E===r[R-1]||typeof h!="number"||!Number.isSafeInteger(h)||h<1)return null;let S=m+h;if(S>t.length)return null;for(;m<S;m++){let g=t[m],T=a[m];if(!(wb(g)&&y(g))||typeof T!="number"||!Number.isSafeInteger(T)||T<0||T>=o.length||m>0&&!Pb(f,b,E,g))return null;f=E,b=g}}return m!==t.length?null:{rows:e,isLast:s,resumeCursor:i!==null&&_b(i)?i:null,total:typeof l=="number"&&Number.isSafeInteger(l)&&l>=0?l:null,snapshot:Lb(d)?d:null,provisional:c===!0,restarted:p===!0,streamAnchor:Mb(u)}},ou=(e,t)=>{let{ids:r,dates:n,counts:o,sourceTypes:a,sources:s}=e,i=0;for(let l=0;l<n.length;l++){let d=n[l];for(let c=i+o[l];i<c;i++){let p=a[s[i]];t(r[i],d,p===null?void 0:p)}}};var au=(e,t,r,n)=>e!==r?e===null?1:r===null||e>r?-1:1:n-t,Pb=(e,t,r,n)=>au(e,t,r,n)<0,su=(e,t)=>au(e.businessDate,e.reportHubId,t.businessDate,t.reportHubId);var Fe=Object.freeze({businessDate:"business-date",idsStream:ua,report:"report",search:"search",reports:"reports",searchMarks:"search-marks",searchFacets:"search-facets",action:"action"}),xe=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 iu=(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)}}},W_=Object.freeze(["API","Action","Attachment","ExternalSource","Isolation","Reads","Refresh","Search","SSE","SseReader","Server","Service","Streams","Visibility","ActionProvider","DetailLoader","IdsStream","SseConnection"]),lu=e=>`[DailyReport${e}]`,ft=(e,t,r)=>e===void 0?iu(t,lu(r)):iu(0,lu(r),e);var qt=Object.freeze({maxQueryLength:500,maxSets:16,maxWordsPerSet:16,maxWords:32,maxWordLength:100,maxDetailIds:100}),kb=2,eo=2,cn=Object.freeze({word:0,reading:1}),to=e=>e===cn.word||e===cn.reading;var Xt=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},Fb=2*(1+kb),Hb=e=>{if(!Array.isArray(e)||e.length===0||e.length>Fb)return null;let t=[],r=new Set;for(let n of e){if(!Xt(n))return null;let{text:o,tier:a}=n;if(typeof o!="string"||o.length===0||o.length>qt.maxWordLength||r.has(o)||!to(a)||(t.length===0?a!==cn.word:a<t[t.length-1].tier))return null;r.add(o),t.push({text:o,tier:a})}return t},Bb=(e,t)=>{if(!Array.isArray(e))return null;if(!t)return e.length===0?[]:null;if(e.length===0||e.length>qt.maxSets)return null;let r=[],n=0;for(let o of e){if(!Array.isArray(o)||o.length===0||o.length>qt.maxWordsPerSet||(n+=o.length,n>qt.maxWords))return null;let a=[];for(let s of o){let i=Hb(s);if(i===null)return null;a.push(i)}r.push(a)}return r},du=(e,t)=>{if(!Xt(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=Bb(e.words,t);if(a===null)return null;let s=[];for(let i=0;i<r.length;i++){let l=r[i],d=n[i],c=o[i];if(typeof l!="number"||!mt(l)||d!==null&&(typeof d!="string"||!Yn(d))||typeof c!="string"||c.length===0)return null;s.push({reportHubId:l,businessDate:d,sourceType:c})}return{items:s,words:a}};var pa=e=>e.issues.map(t=>`${t.path.length===0?"(root)":t.path.join(".")}: ${t.code}`).join("; ");var Vb=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 ${Vb(r)}`),cu=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),ro=(e,t,r)=>Le(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t),Xe=(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)};var ma=({hasListener:e,batchSize:t,inFlightBound:r,send:n})=>{Xe("createIdBatchScheduler: batchSize",t,1),Xe("createIdBatchScheduler: inFlightBound",r,1);let o=new Set,a=new Map,s=!1,i=()=>{let c=[],p=[...o];for(let u=p.length-1;u>=0&&c.length<t;u--){let y=p[u];o.delete(y),e(y)&&c.push(y)}return c.reverse()},l=c=>{let p=new AbortController;a.set(p,c);let u=()=>{a.delete(p),d()},y=m=>{u(),p.signal.aborted&&m===p.signal.reason||globalThis.reportError(m)};n(c,p.signal).then(u,y)},d=()=>{for(s=!1;a.size<r;){let c=i();if(c.length===0)return;l(c)}};return{enqueue:c=>{o.delete(c),o.add(c),!s&&(s=!0,queueMicrotask(d))},isWanted:c=>o.has(c),release:c=>{let p=[];o.delete(c)&&p.push(c);for(let[u,y]of a)u.signal.aborted||!y.includes(c)||y.some(e)||(u.abort(),p.push(...y));return p},dispose:()=>{let c=[...o];o.clear();for(let[p,u]of a)p.signal.aborted||(p.abort(),c.push(...u));return c}}};var Ub=/^[1-9][0-9]*$/,Wb=/^(?:0|[1-9][0-9]*)$/,uu=e=>{if(e===null||!Ub.test(e))return null;let t=Number(e);return mt(t)?t:null},un=e=>{if(e===null||!Wb.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null};var Kb=2**31-1,fa=(e,t)=>{let r=Xe("holdDelayMsOf: maxDelayMs",t,0,Kb),n=un(e.headers.get("Retry-After"));if(n===null)return null;let o=n*1e3;return o<=r?o:null};var pu={request:e=>requestAnimationFrame(e),cancel:e=>cancelAnimationFrame(e)},mu=({frames:e,handOn:t})=>{let r=new Set,n=0,o=0,a=null,s=!1,i=()=>{a!==null||s||(s=!0,queueMicrotask(l))},l=()=>{s=!1,!(a!==null||r.size===0)&&(o=n,a=e.request(d))},d=()=>{if(a=null,n!==o){o=n,a=e.request(d);return}let c=[...r];r.clear(),t(c)};return{enter:c=>{r.add(c),n+=1,i()},leave:c=>{r.delete(c),n+=1,r.size===0&&a!==null&&(e.cancel(a),a=null)},holds:c=>r.has(c),dispose:()=>{a!==null&&e.cancel(a),a=null;let c=[...r];return r.clear(),c}}};import{resolveVirtualScrollLocale as tS}from"@aiquants/virtualscroll";import{createContext as rS,useMemo as nS}from"react";import{useContext as zb}from"react";var wt=(e,t,r)=>{let n=zb(e);if(n===null)throw new Error(`[daily-report] ${t} must be used within a ${r}`);return n};import{resolveVirtualScrollLabels as $b,resolveVirtualScrollLocale as jb,VIRTUAL_SCROLL_LABEL_CATALOGS as fu,VIRTUAL_SCROLL_LABEL_KEYS as Ci}from"@aiquants/virtualscroll";var Ru=["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"],bu=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","noticeRepeated","rowState","listRowPosition","listRowPositionInUnknownTotal","searchHitCount","searchFailed","searchMatchedKeywords","searchMatchedKeywordsDescription","searchFieldMatched","searchFieldMatchedByReading","searchFiltersToggle","searchFiltersFailed"],Ii=[...Ci,...Ru,...bu];var yu=Object.freeze({en:"en-US",ja:"ja-JP"}),Gb=Object.freeze({en:new Intl.NumberFormat(yu.en),ja:new Intl.NumberFormat(yu.ja)}),pe=(e,t)=>Gb[e].format(t),Yb=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"}),qb=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"}),Xb=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"}),Zb=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"}),Qb=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"}),Jb=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"}),vi=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: select. Tab: the report's controls. Escape: back to the report row. 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: ${pe("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${pe("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${pe("en",e)} / ${pe("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${pe("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${pe("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${pe("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${qb[e]}. Please try again later.`,noticeRepeated:e=>`(${pe("en",e)} times)`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`,listRowPosition:(e,t)=>`${pe("en",e)} of ${pe("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${pe("en",e)}`,searchHitCount:e=>`${pe("en",e)} ${e===1?"hit":"hits"}`,searchFailed:e=>Zb[e],searchMatchedKeywords:(e,t)=>`Match ${e}/${t}`,searchMatchedKeywordsDescription:(e,t)=>`Matches ${e} of ${t} keywords`,searchFieldMatched:e=>`${e} matched`,searchFieldMatchedByReading:e=>`${e} matched by its romaji reading`,searchFiltersToggle:e=>e===0?"Filters":`Filters (${pe("en",e)})`,searchFiltersFailed:e=>Jb[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\u3001Enter \u307E\u305F\u306F Space \u3067\u9078\u629E\u3001Tab \u3067\u305D\u306E\u65E5\u5831\u306E\u64CD\u4F5C\u90E8\u54C1\u3078\u3001Escape \u3067\u65E5\u5831\u306E\u884C\u3078\u623B\u308A\u307E\u3059\u3002Ctrl+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: ${pe("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${pe("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${pe("ja",e)} / ${pe("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${pe("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${pe("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${pe("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${Yb[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=>`(${pe("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 ${pe("ja",t)} \u4EF6\u4E2D ${pe("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${pe("ja",e)} \u4EF6\u76EE`,searchHitCount:e=>`${pe("ja",e)} \u4EF6\u30D2\u30C3\u30C8`,searchFailed:e=>Xb[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`,searchFieldMatched:e=>`${e}\u3067\u4E00\u81F4`,searchFieldMatchedByReading:e=>`${e}\u304C\u30ED\u30FC\u30DE\u5B57\u306E\u8AAD\u307F\u3067\u4E00\u81F4`,searchFiltersToggle:e=>e===0?"\u7D5E\u308A\u8FBC\u307F":`\u7D5E\u308A\u8FBC\u307F (${pe("ja",e)})`,searchFiltersFailed:e=>Qb[e]})}),Su=Object.freeze({en:Object.freeze({...fu.en,...vi.en}),ja:Object.freeze({...fu.ja,...vi.ja})}),eS=e=>{let t={},r=!1;for(let n of Ci){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},hu=(e,t,r)=>{e[t]=r},_i=(e,t)=>{let r=jb(e);if(t===void 0)return Su[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 s of Object.keys(t))if(!Ii.includes(s))throw ro("labels key",s,Ii);let a={...$b(r,eS(t)),...vi[r]};for(let s of Ru){let i=Object.hasOwn(t,s)?t[s]:void 0;if(i!==void 0){if(typeof i!="string"||i.trim()==="")throw Le(`labels.${s}`,"a non-blank string",i);hu(a,s,i)}}for(let s of bu){let i=Object.hasOwn(t,s)?t[s]:void 0;if(i!==void 0){if(typeof i!="function")throw Le(`labels.${s}`,"a function",i);hu(a,s,i)}}return Object.freeze(a)},gu=e=>{let t={};for(let r of Ci)t[r]=e[r];return Object.freeze(t)};import{jsx as Li,jsxs as fS}from"react/jsx-runtime";var oS=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),aS=({title:e,annotation:t})=>fS("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[Li("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?Li("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),no=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",renderHeader:aS,showDevControls:!1,headingLevel:3}),Eu=["apiBasePath","ssePath","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired","search"];var sS=e=>{for(let t of Object.keys(e))if(!Eu.includes(t))throw ro("config key",t,Eu)},Tu=[2,3,4,5],iS=e=>{if(e===void 0)return no.headingLevel;let t=Tu.find(r=>r===e);if(t===void 0)throw Le("config.headingLevel",`one of ${Tu.join(", ")} (the level of each report's heading)`,e);return t},Au=["debounceMs","renderFilterSelect"],lS=Object.freeze({min:300,max:5e3}),dS=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},cS=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},uS=e=>{if(e===void 0)return null;if(!dS(e))throw Le("config.search","a plain object ({} for Enter only, or { debounceMs })",e);for(let o of Object.keys(e))if(!Au.includes(o))throw ro("config.search key",o,Au);let t=e.debounceMs,{min:r,max:n}=lS;return{debounceMs:t===void 0?null:Xe("config.search.debounceMs",t,r,n),renderFilterSelect:cS(e.renderFilterSelect)}},pS=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},mS=e=>{sS(e);let t=e.onSessionExpired;if(t===void 0)throw cu("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=tS(e.locale),n=_i(r,e.labels),o=no;return{apiBasePath:e.apiBasePath===void 0?o.apiBasePath:e.apiBasePath,ssePath:e.ssePath===void 0?o.ssePath:e.ssePath,locale:r,labels:n,sourceTypeConfigs:e.sourceTypeConfigs===void 0?oS(n):pS(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:iS(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired,search:uS(e.search)}},Du=rS(null),Ni=({config:e,children:t})=>{let r=nS(()=>mS(e),[e]);return Li(Du.Provider,{value:r,children:t})},$=()=>wt(Du,"useDailyReportConfig","DailyReportConfigProvider"),Zt=(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},ya=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";import{tapScrollCircleSampleVisual as hS}from"@aiquants/virtualscroll";var yS=4;var pn=120,wu=1e3,Ra=.8,Oi={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},ba=20,xu=6,Sa={reportHubId:-1,businessDate:null},ga=240,Ea=15,RS=8,Iu=460,vu=3,Cu=352,bS={enabled:!0,renderVisual:hS,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},Ta={width:RS,tapScrollCircleOptions:bS,enableArrowButtonTabStops:!1},Aa=["pen","touch"];var Mu=ft(void 0,1,"DetailLoader"),Lu=(e,t)=>{let r=globalThis[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},Mi=null,wa=()=>(Mi===null&&(Mi={ttl:Lu("__DAILY_REPORT_CACHE_TTL__",3e5),reviveMs:Lu("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4)}),Mi),Z={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=>{Z.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=kr(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()){Mu.warn(`Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+wa().reviveMs))}},delete(e,t){this.reports.delete(e);let r=kr(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+wa().ttl;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,d=this.merge(s,l);return this.set(d,o,!1),d});return t&&this.lists.set(t,{data:a,expiresAt:o}),a}},Pu=(e,t,r=!0)=>Z.set(e,t,r),ot=(e,t)=>Z.getReport(e,t?.ignoreExpiry),yt=(e,t)=>Z.update(e,t),Ia=(e,t)=>Z.delete(e,t),so=()=>{Z.clear(),Da.clear(),LS()},xa=(e,t)=>{let r=Z.lastMutations.get(e);(r===void 0||r<t)&&Z.lastMutations.set(e,t)},Fi=e=>{xa(e,Date.now())},ku=e=>{let t=Symbol("mutation-lock"),r=Z.lockHolders.get(e);return r===void 0?Z.lockHolders.set(e,new Set([t])):r.add(t),xa(e,Date.now()),()=>{let n=Z.lockHolders.get(e);n===void 0||!n.delete(t)||(n.size===0&&Z.lockHolders.delete(e),xa(e,Date.now()))}},Fu=(e,t)=>{let r=performance.now()+t,n=Z.lockHolds.get(e);(n===void 0||n<r)&&Z.lockHolds.set(e,r),xa(e,Date.now()+t)},Hu=e=>Z.recentDeletes.set(e,Date.now()),Bu=(e,t)=>{let r=n=>{n===e&&t()};return Z.listeners.add(r),()=>{Z.listeners.delete(r)}},Sr=(e,t)=>{Z.prune(),Z.set(t,Date.now()+wa().ttl)},Vu=e=>{Z.prune();let t=Z.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}));Z.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+wa().ttl)},AS=oo.object({report:Mt}),DS=oo.object({reports:oo.array(Mt)}),Uu=(e,t)=>new Error(`[daily-report] ${e} answered HTTP ${t}`),Hi=async(e,t,r)=>{if(!e.ok)throw Uu(r,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 (${pa(n.error)})`);return n.data},wS=async(e,t)=>{let r=Z.getReport(t);if(r)return r;let n=Z.pendingReports.get(t);if(n)return n;let o=Date.now(),a=new URLSearchParams({[xe.reportHubId]:String(t)}),s=fetch(`${e}/${Fe.report}?${a}`,{cache:"no-cache"}).then(i=>Hi(i,AS,Fe.report)).then(({report:i})=>Z.cacheMany([i],null,o)[0]).finally(()=>Z.pendingReports.delete(t));return Z.pendingReports.set(t,s),s},Da=new Map,xS=1e4,IS=(e,t)=>{let r=Da.get(t),n=Date.now();if(r&&n-r.at<xS)return r.inFlight;let o=Bi(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return Da.set(t,a),o.finally(()=>{Da.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},Bi=async(e,t,r={})=>{let n=r.forceRefresh?null:Z.getList(t);if(n)return n;let o=Z.pendingLists.get(t);if(o)return o;let a=Date.now(),s=new URLSearchParams({[xe.businessDate]:t}),i=fetch(`${e}/${Fe.businessDate}?${s}`,{cache:"no-cache"}).then(l=>Hi(l,DS,Fe.businessDate)).then(({reports:l})=>Z.cacheMany(l,t,a)).finally(()=>Z.pendingLists.delete(t));return Z.pendingLists.set(t,i),i},vS=oo.object({reports:oo.array(Mt)}),CS=5e3,Pi=new Map,_S=e=>{let t=new Map,r=new Map,n=new Map,o=new Set,a=(u,y)=>{let m=[];for(let f of u)r.get(f)===y&&(r.delete(f),m.push(f));return m},s=(u,y)=>{let m=t.get(u);if(m!==void 0){t.delete(u),o.delete(u);for(let f of m)y(f)}},i=(u,y)=>{let f=setTimeout(()=>{for(let b of u)n.delete(b),t.has(b)&&(o.add(b),c.enqueue(b))},y);for(let b of u)n.set(b,f)},l=(u,y,m)=>{let f=[];for(let b of u)y!==null&&t.has(b)&&!o.has(b)?f.push(b):s(b,R=>R.reject(m));y!==null&&f.length>0&&i(f,y)},d=async(u,y)=>{for(let b of u)r.set(b,y);let m=Date.now(),f=new URLSearchParams({[xe.reportIds]:u.join(",")});try{let b=await fetch(`${e}/${Fe.reports}?${f}`,{cache:"no-cache",signal:y});if(b.status===429){l(a(u,y),fa(b,CS),Uu(Fe.reports,b.status));return}let{reports:R}=await Hi(b,vS,Fe.reports);if(y.aborted)return;let E=new Map(Z.cacheMany(R,null,m).map(h=>[h.reportHubId,h]));for(let h of a(u,y))s(h,S=>S.resolve(E.get(h)??null))}catch(b){for(let R of a(u,y))s(R,E=>E.reject(b))}},c=ma({hasListener:u=>t.has(u),batchSize:qt.maxDetailIds,inFlightBound:eo,send:d}),p=mu({frames:pu,handOn:u=>{for(let y of u)c.enqueue(y)}});return{readers:t,pending:r,holds:n,retried:o,gate:p,scheduler:c}},LS=()=>{for(let{readers:e,pending:t,holds:r,retried:n,gate:o,scheduler:a}of Pi.values()){o.dispose(),a.dispose(),t.clear();for(let s of r.values())clearTimeout(s);r.clear(),n.clear();for(let s of e.keys())a.enqueue(s)}},NS=new DOMException("The detail reader left its batched read","AbortError"),OS=(e,t,r)=>new Promise((n,o)=>{let a=Pi.get(e);a===void 0&&(a=_S(e),Pi.set(e,a));let{readers:s,pending:i,holds:l,retried:d,gate:c,scheduler:p}=a,u={resolve:n,reject:o},y=s.get(t);y===void 0?s.set(t,new Set([u])):y.add(u),c.holds(t)||p.isWanted(t)||i.has(t)||l.has(t)||c.enter(t);let m=()=>{let f=s.get(t);if(!(f===void 0||!f.delete(u))&&(o(r.reason),!(f.size>0))){s.delete(t),d.delete(t),c.leave(t);for(let b of p.release(t))i.delete(b)}};r.addEventListener("abort",m,{once:!0})}),va=SS("date"),ki=(e,t)=>{let r=Z.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!Z.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=Z.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:!Z.isValid(n.expiresAt)}},Nu=(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}=ki(e,kr(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},mn=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,Vr=(e,t)=>{let{apiBasePath:r}=$(),n=Ou(va),[o,a]=TS(()=>Nu(e,t)),s=ES(0),i=o;return o.id!==e&&(i=Nu(e,t),a(i)),_u(()=>{let l=kr(t),d=c=>{c===e&&a(mn(e,{report:ki(e,l).report}))};return Z.listeners.add(d),()=>{Z.listeners.delete(d)}},[e,t]),_u(()=>{let l=kr(t);s.current+=1;let d=s.current,c=null,p=()=>{c?.abort(NS),s.current+=1};if(e<=0)return p;let{report:u,isStale:y}=ki(e,l);if(u&&!y)return a(mn(e,{report:u,error:null,isLoading:!1,isRefetching:!1})),p;a(mn(e,{report:u,isLoading:!u,isRefetching:!0}));let m=async()=>{try{let b=null;if(n==="ids")c=new AbortController,b=await OS(r,e,c.signal);else if(l){let R=Z.getList(l)!==null;if(b=(await Bi(r,l)).find(h=>h.reportHubId===e)??null,!b&&R){let h=await IS(r,l);h&&(b=h.find(S=>S.reportHubId===e)??null)}}else b=await wS(r,e);s.current===d&&a(mn(e,{report:b,error:null}))}catch(b){s.current===d&&a(mn(e,{error:b instanceof Error?b:new Error("Load failed")}))}finally{s.current===d&&a(mn(e,{isLoading:!1,isRefetching:!1}))}};if(u===null)return m(),p;let f=setTimeout(m,pn);return()=>{clearTimeout(f),p()}},[e,t,r,n]),{report:i.report,error:i.error,isLoading:i.isLoading,isRefetching:i.isRefetching}},Vi=()=>{let{apiBasePath:e}=$(),t=Ou(va);return gS(r=>{if(t==="ids")return;let n=kr(r);n&&!Z.getList(n)&&Bi(e,n).catch(o=>Mu.warn("Prefetch error",n,o))},[e,t])};import{VIRTUAL_SCROLL_LABEL_KEYS as MS}from"@aiquants/virtualscroll";import{useRef as PS}from"react";var Ca=()=>{let{locale:e,labels:t}=$(),r=gu(t),n=PS(null),o=n.current;return o!==null&&MS.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};import{useState as kS}from"react";var Be=e=>{let[t]=kS(()=>({current:e()}));return t};import{useLayoutEffect as jS,useState as GS}from"react";import{flushSync as YS}from"react-dom";var zu=Object.freeze({visibilityProperty:!0}),Wu=new Set(["auto","scroll"]),Ku=new Set(["","true","plaintext-only"]),$u=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=Yu(n)?n.host:null}return!1},FS=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(zu))return!0;return!1},ju=e=>e.localName==="area"?FS(e):e.checkVisibility(zu),HS=e=>{let t=e.getAttribute("contenteditable");if(t===null||!Ku.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(Ku.has(o))return!1;if(o==="false")return!0}return!0},BS=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&&ju(n)&&(r=n)}return r===e},VS=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&&Wu.has(a.overflowX)||n&&Wu.has(a.overflowY)},US=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 HS(e)}},WS=/^[\t\n\f\r ]*[+-]?\d/,KS=e=>{let t=e.getAttribute("tabindex");return t!==null&&WS.test(t)?e.tabIndex:null},Gu=(e,t)=>{for(let r of Wi(e))if(t(r)||Gu(r,t))return!0;return!1},_a=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=zS(e,t);return t.set(e,n),n},zS=(e,t)=>{if(!lo(e))return"none";let r=KS(e),n=r===null&&US(e),o=r===null&&!n&&VS(e);return!(r!==null||n||o)||e.matches(":disabled")||$u(e)||!ju(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?BS(e)?"sequential":"programmatic":"sequential":Gu(e,a=>_a(a,t)==="sequential")?"none":"sequential"},Ui=(e,t)=>{for(let r of Wi(e))t(r),Ui(r,t)},Wi=e=>{if(he(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 io=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return Ui(e,l=>{_a(l,a)==="sequential"&&n.push(l)}),{before:r,within:n,after:o};let s=!1,i=(l,d)=>{for(let c of Wi(l)){let p=c===t;!p&&_a(c,a)==="sequential"&&(d?n.push(c):s?o.push(c):r.push(c)),i(c,d||p),p&&(s=!0)}};return i(e,!1),{before:r,within:n,after:o}},La=e=>{let t=[],r=new Map;return Ui(e,n=>{_a(n,r)==="sequential"&&t.push(n)}),t},he=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,lo=e=>"focus"in e&&"blur"in e,$S=e=>e.nodeType===e.DOCUMENT_NODE,Yu=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,Ve=e=>{let t=e.getRootNode();if(Yu(t)){let r=t.activeElement;return r===null?Ve(t.host):r}return $S(t)?t.activeElement:null},Ur=e=>{let t=Ve(e);return t===null||t===t.ownerDocument.body||$u(t)},Ne=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 Na=e=>{let[t,r]=GS(null);return jS(()=>{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 d=o===null;o=l,d?YS(()=>r(l)):r(l)},s=l=>{for(let d of l)a(d.borderBoxSize[0].blockSize)},i=new(Ne(n)).ResizeObserver(s);return i.observe(n,{box:"border-box"}),()=>i.disconnect()},[e]),t};var qu=255,Ki=[null],Xu=new Map,Oa=[void 0],Zu=new Map,kt=e=>{if(e===null)return 0;let t=Xu.get(e);if(t!==void 0)return t;let r=Ki.length;return Ki.push(e),Xu.set(e,r),r},Qt=e=>{let t=Ki[e];if(t===void 0)throw new Error(`[daily-report] No business date has the code ${e}`);return t},co=e=>{if(e===void 0)return 0;let t=Zu.get(e);if(t!==void 0)return t;let r=Oa.length;if(r>qu)throw new Error(`[daily-report] The rows hold more than ${qu} distinct source types; ${e} has no code`);return Oa.push(e),Zu.set(e,r),r},Wr=e=>{if(!(Number.isInteger(e)&&e>=0&&e<Oa.length))throw new Error(`[daily-report] No source type has the code ${e}`);return Oa[e]},Pt=class{constructor(t,r,n,o){this.length=t,this.ids=r,this.businessDateCodes=n,this.sourceTypeCodes=o}idAt(t){return this.ids[this.rowIndexOf(t)]}itemAt(t){let r=this.rowIndexOf(t);return{reportHubId:this.ids[r],businessDate:Qt(this.businessDateCodes[r]),sourceType:Wr(this.sourceTypeCodes[r])}}items(){let t=[];for(let r=0;r<this.length;r++)t.push(this.itemAt(r));return t}businessDateAt(t){return Qt(this.businessDateCodes[this.rowIndexOf(t)])}sourceTypeAt(t){return Wr(this.sourceTypeCodes[this.rowIndexOf(t)])}rowIndexOf(t){if(Number.isInteger(t)&&t>=0&&t<this.length)return t;throw new Error(`[daily-report] A batch of ${this.length} rows has no row ${t}`)}},Qu=e=>{if(e instanceof Pt)return e;throw new Error("[daily-report] A row batch the package did not build has no code columns")},ht=new Pt(0,new Float64Array(0),new Uint32Array(0),new Uint8Array(0)),qS=Float64Array.BYTES_PER_ELEMENT+Uint32Array.BYTES_PER_ELEMENT+Uint8Array.BYTES_PER_ELEMENT,fn=e=>{let t=new ArrayBuffer(e*qS),r=e*Float64Array.BYTES_PER_ELEMENT;return{ids:new Float64Array(t,0,e),businessDateCodes:new Uint32Array(t,r,e),sourceTypeCodes:new Uint8Array(t,r+e*Uint32Array.BYTES_PER_ELEMENT,e)}},Jt=(e,t,r)=>{if(r===0)return ht;let n=t+r;return new Pt(r,e.ids.subarray(t,n),e.businessDateCodes.subarray(t,n),e.sourceTypeCodes.subarray(t,n))},XS=16,xt=class{constructor(t=XS){this.count=0;this.columns=null;this.initialCapacity=Xe("ReportRowBatchWriter: capacity",t,0)}push(t,r,n){let o=this.columns===null||this.count===this.columns.ids.length?this.grow():this.columns;o.ids[this.count]=t,o.businessDateCodes[this.count]=r,o.sourceTypeCodes[this.count]=n,this.count+=1}pushItem(t){this.push(t.reportHubId,kt(t.businessDate),co(t.sourceType))}pushFrom(t,r){this.push(t.ids[r],t.businessDateCodes[r],t.sourceTypeCodes[r])}build(){let t=this.columns;return t===null?ht:Jt(t,0,this.count)}grow(){let t=this.columns,r=fn(Math.max(this.count+1,t===null?this.initialCapacity:t.ids.length*2));return t!==null&&(r.ids.set(t.ids),r.businessDateCodes.set(t.businessDateCodes),r.sourceTypeCodes.set(t.sourceTypeCodes)),this.columns=r,r}},zi=e=>{let t=new xt(e.length);for(let r of e)t.pushItem(r);return t.build()};var It=10,uo=1<<It,hn=uo-1,ZS=uo,QS=ZS/2,yn=new Map,Gi=new Map,Yi=(e,t,r)=>e.businessDate===t&&e.sourceType===r,JS=(e,t,r)=>{let n=yn.get(e),o=n===void 0?Gi.get(e):n;return o!==void 0&&Yi(o,t,r)?o:void 0},Ma=(e,t,r)=>{let n=Qt(t),o=Wr(r),a=yn.get(e);if(a!==void 0&&Yi(a,n,o))return a;let s=a===void 0?Gi.get(e):void 0,i=s!==void 0&&Yi(s,n,o)?s:{reportHubId:e,businessDate:n,sourceType:o};return yn.set(e,i),yn.size>=QS&&(Gi=yn,yn=new Map),i},Ju=(e,t,r)=>{let n=Qt(t),o=Wr(r),a=JS(e,n,o);return a===void 0?{reportHubId:e,businessDate:n,sourceType:o}:a};var at=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 ep(this,n)}[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=Ju(o.ids[n],o.businessDateCodes[n],o.sourceTypeCodes[n]);return n+=1,{done:!1,value:a}}r+=1,n=0}return{done:!0,value:void 0}}}}},Pa=new at([],0),ep=(e,t)=>{let r=e.chunks[t>>>It],n=t&hn;return Ma(r.ids[n],r.businessDateCodes[n],r.sourceTypeCodes[n])},Kr=(e,t)=>e.chunks[t>>>It].ids[t&hn],Rn=(e,t)=>e.chunks[t>>>It].businessDateCodes[t&hn],Xi=(e,t)=>e.chunks[t>>>It].sourceTypeCodes[t&hn],$i={businessDate:null,reportHubId:0},ji={businessDate:null,reportHubId:0},bn=(e,t,r,n)=>($i.reportHubId=e,$i.businessDate=Qt(t),ji.reportHubId=r,ji.businessDate=Qt(n),su($i,ji)),tp=e=>{if(e.length===0)return Pa;let t=[];return rp(t,e,e.length),new at(t,e.length)},rp=(e,t,r)=>{for(let n=0;n<r;n+=uo)e.push(Jt(t,n,Math.min(uo,r-n)))},zr={removals:[],replacements:[],additions:ht,insertions:[]},eg=e=>{let t=fn(e.length);return t.ids.set(e.ids.subarray(0,e.length)),t.businessDateCodes.set(e.businessDateCodes.subarray(0,e.length)),t.sourceTypeCodes.set(e.sourceTypeCodes.subarray(0,e.length)),Jt(t,0,e.length)},tg=(e,t)=>{let r=e.chunks.slice(),n=new Map;for(let{index:o,id:a,businessDateCode:s,sourceTypeCode:i}of t){let l=o>>>It,d=n.get(l);d===void 0&&(d=eg(e.chunks[l]),n.set(l,d),r[l]=d);let c=o&hn;d.ids[c]=a,d.businessDateCodes[c]=s,d.sourceTypeCodes[c]=i}return new at(r,e.length)},Sn=(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((T,w)=>T-w),a=[...t.replacements].sort((T,w)=>T.index-w.index);if(o.length===0&&r.length===0)return tg(e,a);let s=e.length,i=s-o.length+r.length;if(i===0)return Pa;let d=Math.min(o.length===0?s:o[0],a.length===0?s:a[0].index,r.length===0?s:n[0])>>>It,c=e.chunks.slice(0,d),p=d<<It,u=i-p,y=u===0?ht:fn(u),m=0,f=()=>{if(m===u)throw new Error(`[daily-report] Edits of a list of ${s} rows write more than the ${i} rows they leave`);return u-m},b=(T,w,C)=>{f(),y.ids[m]=T,y.businessDateCodes[m]=w,y.sourceTypeCodes[m]=C,m+=1},R=(T,w)=>{for(let C=T;C<w;){let H=e.chunks[C>>>It],U=C&hn,B=Math.min(w-C,uo-U,f());y.ids.set(H.ids.subarray(U,U+B),m),y.businessDateCodes.set(H.businessDateCodes.subarray(U,U+B),m),y.sourceTypeCodes.set(H.sourceTypeCodes.subarray(U,U+B),m),m+=B,C+=B}},E=d<<It,h=0,S=0,g=0;for(;;){let T=Math.min(h<o.length?o[h]:s,S<a.length?a[S].index:s,g<r.length?n[g]:s);for(R(E,T),E=T;g<r.length&&n[g]===T;g++)b(r.ids[g],r.businessDateCodes[g],r.sourceTypeCodes[g]);if(T===s)break;if(h<o.length&&o[h]===T)h+=1,E=T+1;else if(S<a.length&&a[S].index===T){let w=a[S];b(w.id,w.businessDateCode,w.sourceTypeCode),S+=1,E=T+1}}return rp(c,y,m),new at(c,p+m)},po=(e,t)=>{let{chunks:r}=e;for(let n=0;n<r.length;n++){let{ids:o,length:a}=r[n];for(let s=0;s<a;s++)if(o[s]===t)return(n<<It)+s}return-1},np=(e,t)=>{let r=po(e,t);return r===-1?void 0:ep(e,r)},qi=(e,t,r)=>{let n=t.get(e);if(n!==void 0)return n;let o=[];for(let a=0;a<e.length;a++){let s=e.ids[a];r(s)&&o.push(Ju(s,e.businessDateCodes[a],e.sourceTypeCodes[a]))}return t.set(e,o),o},op=(e,t,r)=>{let n=[];if(!(e instanceof at)){for(let o of e)r(o.reportHubId)&&n.push(o);return n}for(let o of e.chunks){let a=qi(o,t,r);for(let s=0;s<a.length;s++)n.push(a[s])}return n},ap=(e,t,r,n)=>{let o=Math.min(e.chunks.length,t.chunks.length),a=0;for(;a<o&&e.chunks[a]===t.chunks[a];)a+=1;let s=[];for(let l=a;l<e.chunks.length;l++){let d=qi(e.chunks[l],r,n);for(let c=0;c<d.length;c++)s.push(d[c])}let i=[];for(let l=a;l<t.chunks.length;l++){let d=qi(t.chunks[l],r,n);for(let c=0;c<d.length;c++)i.push(d[c])}return{before:s,after:i}};var sp=(e,t)=>Number.isInteger(t)&&t>=0&&t<e.length,me=(e,t)=>sp(e,t)?e.at(t):void 0,rg=(e,t)=>e instanceof at?sp(e,t)?Kr(e,t):void 0:me(e,t)?.reportHubId,ng=16,ip=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,fe=(e,t,r)=>{let n=r===null?void 0:me(e,r);if(r!==null&&n!==void 0){if(n.reportHubId===t)return r;for(let o=1;o<=ng;o++){if(me(e,r+o)?.reportHubId===t)return r+o;if(me(e,r-o)?.reportHubId===t)return r-o}}return Rt(e,t)},Rt=(e,t)=>{if(e instanceof at)return po(e,t);let r=0;for(let n of e){if(n.reportHubId===t)return r;r+=1}return-1},Zi=e=>{let t=me(e,0);return t===void 0?null:t.reportHubId},lp=(e,t)=>{let r=[];for(let n of e){if(r.length>=t)break;r.push(n.reportHubId)}return r},Ft=(e,t)=>{let r=me(e,t);if(r===void 0)throw dp(e,t);return r},ka=(e,t)=>{let r=rg(e,t);if(r===void 0)throw dp(e,t);return r},dp=(e,t)=>new Error(`[daily-report] No report at index ${t} of a list of ${e.length}`);var Fa="data-daily-report-row",cp=`[${Fa}]`,up="data-daily-report-button",Ha="data-daily-report-row-focus",Ba={[Ha]:""},pp="data-daily-report-view",Va={[pp]:""},Qi="treegrid",og='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',ag=/^[1-9]\d*$/,mp=e=>{if(e===null||!ag.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},fp=e=>e.querySelector(`[${pp}] [role="${Qi}"]`),yp=e=>e.querySelector(`[${Ha}]`),$r=(e,t)=>{if(t===null||!he(e))return null;let r=e.closest(cp);return r===null||r===t||!t.contains(r)?null:r},mo=e=>mp(e.getAttribute(Fa)),gr=e=>mp(e.getAttribute("aria-posinset")),hp=e=>{let t=e.closest(cp),r=t===null?null:gr(t);return r===null?null:r-1},Rp=(e,t)=>{if(e===null)return null;let r=mo(e);if(r===null)return null;let n=gr(e),o=fe(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},bp=(e,t)=>{if(!he(e))return!1;let r=e.closest(og);return r!==null&&r!==t&&t.contains(r)};import{createContext as Sp}from"react";var jr=Sp(0),Er=-1,gp=(e,t)=>t.phase==="complete"?e:t.totalCount===null?Er:Math.max(e,t.totalCount),Gr=Sp(-1);import{useVirtualScrollItem as Tp}from"@aiquants/virtualscroll";import{createContext as Ap,useCallback as Dp,useContext as Ji,useLayoutEffect as Ep,useReducer as sg}from"react";import{flushSync as ig}from"react-dom";var lg=()=>{},fo=Object.freeze({visible:0,reach:1,near:2,far:3}),dg=(e,t,r,n,o)=>{let a=e.handle.getZone();if(t&&a==="far")return null;let s=o(e.reportHubId);return s===null?[fo[a],Number.POSITIVE_INFINITY,0]:r===null?[fo[a],s,0]:[fo[a],Math.abs(s-r),Math.sign(s-r)===-n?1:0]},cg=(e,t)=>{for(let r=0;r<e.length;r++){let n=e[r]-t[r];if(n!==0)return n}return 0},wp=({gridId:e,isHolding:t,subscribeHold:r,holdKeys:n,activeIndex:o,indexOf:a})=>{let s=new Map,i=new Map,l=new Map,d=null,c=null,p=null,u="idle",y=0,m=null,f=1,b=0,R=!1,E=null,h=0,S=null,g=()=>{let D=t(),V=o(),F=null,z=null;for(let j of s.values()){let Q=dg(j,D,V,f,a);Q===null||z!==null&&cg(Q,z)>=0||(F=j,z=Q)}return F},T=D=>s.get(D.reportHubId)!==D?!1:(s.delete(D.reportHubId),D.unsubscribeZone(),!0),w=()=>{c===null||u!=="idle"||g()===null||(u="arming",c.port1.postMessage(null))},C=D=>{d!==null&&(u="framing",R=D,y=d.requestAnimationFrame(B))},H=()=>{let D=n();return D===null?0:D.count},U=D=>{let V=n();return V===null||V.nextAt===null||S===null?!1:V.count===h&&V.nextAt>D},B=D=>{if(y=0,!(d===null||c===null)){if(R&&E!==null&&D>E&&(S===null||D-E<S)&&(S=D-E),E=D,h=H(),t()&&(S===null||!U(D+S))){g()===null?u="idle":C(!0);return}c.port2.postMessage(null)}},A=()=>d===null||E===null||S===null?Number.POSITIVE_INFINITY:E+S*Math.max(1,Math.ceil((d.performance.now()-E)/S)),v=D=>{T(D),ig(D.apply)},I=()=>{u="running";let D=o();D!==null&&m!==null&&D!==m&&(f=D>m?1:-1),m=D;try{let V=t();if(V&&!U(A()))return;let F=g();if(F===null)return;v(F);let z=g();if(z===null||fo[z.handle.getZone()]>fo.reach||V&&(F.sizing!=="fixed"||z.sizing!=="fixed"))return;v(z)}finally{u="idle",g()!==null&&C(!0)}},L=()=>{u==="arming"&&C(!1)},M=()=>{S=null,w()},O=()=>{u==="framing"&&y===0&&I()};return{gridId:e,enqueue:D=>{let V=s.get(D.reportHubId);if(V!==void 0&&T(V),!t()&&D.handle.getZone()==="visible")return b+=1,D.apply(),lg;let F={...D,unsubscribeZone:D.handle.subscribeZone(()=>{let z=D.handle.getZone();if(z==="visible"){if(!T(F))return;b+=1,D.apply();return}z!=="far"&&s.get(D.reportHubId)===F&&w()})};return s.set(D.reportHubId,F),w(),()=>{T(F)}},settleRow:(D,V,F)=>{let z={handle:V,body:F};return i.set(D,z),F!==null&&l.set(F,D),V.setSkippable(F===null),()=>{i.get(D)===z&&i.delete(D),F!==null&&l.get(F)===D&&l.delete(F)}},measured:D=>{let V=l.get(D),F=V===void 0?void 0:i.get(V);F!==void 0&&F.body===D&&F.handle.setSkippable(!0)},invalidate:D=>{let V=i.get(D);V===void 0||V.body===null||(V.handle.setSkippable(!1),p!==null&&p(V.body))},attach:(D,V)=>{let F=new D.MessageChannel;F.port1.onmessage=O,F.port2.onmessage=L,d=D,c=F,p=V,u="idle";let z=r(M);return w(),()=>{z(),y!==0&&D.cancelAnimationFrame(y),y=0,F.port1.onmessage=null,F.port2.onmessage=null,F.port1.close(),F.port2.close(),d=null,c=null,p=null,u="idle",E=null,S=null}},syncReleaseCount:()=>b}},Ua=Ap(null),yo=Ap(null),el=e=>{let t=Ji(Ua);if(t===null)throw new Error(`[daily-report] ${e} is called outside a view's rows (no row pass)`);return t},xp=()=>el("useViewGridId").gridId,Wa=(e,t,r)=>{let n=el("useRowPass"),o=Tp(),[a,s]=sg(()=>({bodyReady:!0,rendered:t,fromUnit:!0}),t,l=>({bodyReady:o.getZone()==="visible",rendered:l,fromUnit:!1})),i=!(a.bodyReady&&Object.is(a.rendered,t));return Ep(()=>{if(i)return n.enqueue({reportHubId:e,handle:o,apply:s,sizing:r})},[n,e,o,i,a,r]),Ep(()=>{if(r==="fixed")return n.settleRow(e,o,null);a.fromUnit&&n.invalidate(e)},[n,e,o,r,a]),a},Ip=e=>{let t=el("useRowBodyDeclaration"),r=Tp();return Dp(o=>t.settleRow(e,r,o),[t,e,r])},vp=()=>{let e=Ji(Ua),t=Ji(yo);return Dp(()=>{e!==null&&t!==null&&e.invalidate(t)},[e,t])};import{clsx as ug}from"clsx";import{twMerge as pg}from"tailwind-merge";function x(...e){return pg(ug(e))}var Ie=e=>{let t=new Map;return r=>{let n=r===void 0?"":r,o=t.get(n);if(o!==void 0)return o;let a=x(e,n);return t.set(n,a),a}};import{useCallback as Cp,useMemo as mg,useSyncExternalStore as fg}from"react";var _p="(prefers-reduced-motion: reduce)",Lp=e=>Ne(e).matchMedia(_p).matches?"instant":"smooth",yg=Object.freeze({...Oi,startVelocityThreshold:Number.POSITIVE_INFINITY}),gn=e=>e?yg:Oi,hg=()=>!1,Rg=()=>{},En=e=>{let t=mg(()=>e===null?null:Ne(e).matchMedia(_p),[e]),r=Cp(o=>t===null?Rg:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=Cp(()=>t===null?!1:t.matches,[t]);return fg(r,n,hg)};import{useSyncExternalStore as bg}from"react";import{jsx as tl}from"react/jsx-runtime";var Ka=()=>{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)})}},Np=16,Sg=x(rc,"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"),gg=(e,t)=>e==="vertical"?{top:0,left:-Np,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-Np,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},za=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:s}=bg(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||s)?tl("div",{className:"pointer-events-none absolute flex items-center",style:gg(e,t),children:tl("div",{className:Sg,children:tl("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};import{createContext as Eg,useContext as Tg,useLayoutEffect as Ag,useRef as Dg}from"react";var rl=Eg(null),$a=({items:e,scroller:t,readTopReportId:r})=>{let n=Tg(rl),o=n===null?null:n.request,a=Dg(o===null?0:o.seq);Ag(()=>{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:Rt(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 nh,useCallback as tn,useContext as Nw,useEffect as th,useLayoutEffect as rh,useMemo as Lo,useRef as Ys}from"react";var ja="legacy-",wg=e=>`${ja}${e}`,Op=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Le("mergeComments: unknownAuthorName","a non-blank string",n);let o=e.map((s,i)=>({id:wg(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]},Mp=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 xg=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}`}),Ig=e=>e.startsWith(ja)?un(e.slice(ja.length))!==null:uu(e)!==null,Tn=e=>{if(xg.includes(e))return!0;let t=e.split(":");switch(t[0]){case"interviewer":return t.length===3&&un(t[1])!==null&&(t[2]==="name"||t[2]==="affiliation");case"attachment":return t.length===2&&un(t[1])!==null;case"comment":return t.length===3&&Ig(t[1])&&(t[2]==="author"||t[2]==="content");default:return!1}},vg=16777619,Cg=2166136261,_g=(e,t,r,n)=>{let o=e;for(let a=r;a<n;a++)o^=t.charCodeAt(a),o=Math.imul(o,vg);return o>>>0},nl=e=>_g(Cg,e,0,e.length),Lg=String.fromCodePoint(3),Ng=String.fromCodePoint(2),Og=String.fromCodePoint(1),Pp=e=>nl(e.map(t=>t.map(r=>r.map(n=>`${n.tier}${n.text}`).join(Lg)).join(Ng)).join(Og));import{createContext as Zm,useCallback as Ym,useEffect as qm,useLayoutEffect as Xm,useMemo as Cl,useRef as Il,useState as Bt}from"react";import{z as Re}from"zod/v3";var kp=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var st=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",commentId:"commentId"}),Ga=e=>{let t=new FormData;if(t.append(st.intent,e.intent),e.intent==="clearCache"||(t.append(st.clientTempId,e.clientTempId),e.businessDate!==null&&t.append(st.businessDate,e.businessDate),e.operationTimestamp!==null&&t.append(st.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return t;switch(t.append(st.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&t.append(st.title,e.changes.title),e.changes.content!==void 0&&t.append(st.content,e.changes.content),t;case"publish":case"delete":return t;case"toggleStar":return t.append(st.isStarred,String(e.value)),t;case"toggleRead":return t.append(st.isRead,String(e.value)),t;case"addComment":return t.append(st.content,e.content),t;case"deleteComment":return t.append(st.commentId,String(e.commentId)),t}},Mg=()=>{let e=we,t=Re.string().regex(da),r=Re.literal("OK"),n=Re.object({isStarred:Re.boolean(),isRead:Re.boolean()}),o=Re.number().int().nonnegative().nullable();return{create:Re.object({status:r,intent:Re.literal("create"),reportHubId:e,clientTempId:t,report:Mt}),update:Re.object({status:r,intent:Re.literal("update"),reportHubId:e,clientTempId:t}),publish:Re.object({status:r,intent:Re.literal("publish"),reportHubId:e,clientTempId:t,report:Mt.nullable()}),delete:Re.object({status:r,intent:Re.literal("delete"),reportHubId:e,clientTempId:t}),toggleStar:Re.object({status:r,intent:Re.literal("toggleStar"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),toggleRead:Re.object({status:r,intent:Re.literal("toggleRead"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),addComment:Re.object({status:r,intent:Re.literal("addComment"),reportHubId:e,clientTempId:t,newComment:Di}),deleteComment:Re.object({status:r,intent:Re.literal("deleteComment"),reportHubId:e,clientTempId:t,deletedCommentId:we}),clearCache:Re.object({status:r,intent:Re.literal("clearCache")})}},ol=null,Pg=()=>(ol===null&&(ol=Mg()),ol),Fp=(e,t)=>{let r=Pg()[e].safeParse(t);return r.success?{result:r.data}:{mismatch:pa(r.error)}};import{useState as Bg}from"react";var Ya=e=>{let t=e>>>0,r=(e-t)/4294967296|0;return Math.imul(t^Math.imul(r,1540483477),2654435761)>>>0},er=class{constructor(t){this.count=0;this.idAt=t,this.bits=4,this.slots=new Int32Array(16).fill(-1)}get size(){return this.count}get capacity(){return this.slots.length}find(t){let r=this.slotOf(t);return r===-1?-1:this.slots[r]}set(t,r){let n=this.slotOf(t);if(n!==-1){this.slots[n]=r;return}(this.count+1)*2>this.slots.length&&this.grow();let o=this.slots.length-1,a=Ya(t)>>>32-this.bits;for(;this.slots[a]!==-1;)a=a+1&o;this.slots[a]=r,this.count+=1}delete(t){let r=this.slotOf(t);if(r===-1)return!1;let n=this.slots.length-1,o=32-this.bits;this.slots[r]=-1,this.count-=1;for(let a=r+1&n;this.slots[a]!==-1;a=a+1&n){let s=Ya(this.idAt(this.slots[a]))>>>o;(a-s&n)>=(a-r&n)&&(this.slots[r]=this.slots[a],this.slots[a]=-1,r=a)}return!0}clear(){this.slots.fill(-1),this.count=0}slotOf(t){let r=this.slots.length-1;for(let n=Ya(t)>>>32-this.bits;this.slots[n]!==-1;n=n+1&r)if(this.idAt(this.slots[n])===t)return n;return-1}grow(){let t=this.slots;this.bits+=1,this.slots=new Int32Array(1<<this.bits).fill(-1);let r=this.slots.length-1,n=32-this.bits;for(let o=0;o<t.length;o++){let a=t[o];if(a===-1)continue;let s=Ya(this.idAt(a))>>>n;for(;this.slots[s]!==-1;)s=s+1&r;this.slots[s]=a}}};var kg=e=>e.appended instanceof Pt&&e.replaced.previous instanceof Pt&&e.replaced.next instanceof Pt&&e.removed instanceof Pt,sl=e=>{if(kg(e))return e;throw new Error(`[daily-report] The ids stream change from revision ${e.base} to ${e.revision} holds a row batch the package did not build`)},qa=1,Xa=2,Yr=3,Hp=16,Fg=8192,Hg=Float64Array.BYTES_PER_ELEMENT+2*Uint32Array.BYTES_PER_ELEMENT+3*Uint8Array.BYTES_PER_ELEMENT,al=e=>{let t=new ArrayBuffer(e*Hg),r=e*Float64Array.BYTES_PER_ELEMENT,n=r+2*e*Uint32Array.BYTES_PER_ELEMENT;return{ids:new Float64Array(t,0,e),firstDates:new Uint32Array(t,r,e),lastDates:new Uint32Array(t,r+e*Uint32Array.BYTES_PER_ELEMENT,e),states:new Uint8Array(t,n,e),firstSources:new Uint8Array(t,n+e,e),lastSources:new Uint8Array(t,n+2*e,e)}},Bp=Object.freeze({previous:ht,next:ht}),il=()=>{let e=0,t=al(Hp),r=d=>t.ids[d],n=new er(r),o=()=>{let d=al(t.ids.length*2);d.ids.set(t.ids),d.firstDates.set(t.firstDates),d.lastDates.set(t.lastDates),d.states.set(t.states),d.firstSources.set(t.firstSources),d.lastSources.set(t.lastSources),t=d},a=(d,c)=>{e===t.ids.length&&o();let p=e;return e+=1,t.ids[p]=d,t.states[p]=c,n.set(d,p),p},s=(d,c,p)=>{let u=n.find(d);if(u===-1){let y=a(d,qa);t.lastDates[y]=c,t.lastSources[y]=p;return}if(t.states[u]!==Yr)throw new Error(`[daily-report] The ids stream list took report ${d}, which it already holds`);t.states[u]=Xa,t.lastDates[u]=c,t.lastSources[u]=p},i=(d,c,p,u,y)=>{let m=n.find(d);if(m===-1)m=a(d,Xa),t.firstDates[m]=c,t.firstSources[m]=p;else if(t.states[m]===Yr)throw new Error(`[daily-report] The ids stream list changed report ${d}, which it no longer holds`);t.lastDates[m]=u,t.lastSources[m]=y},l=(d,c,p)=>{let u=n.find(d);if(u===-1){let y=a(d,Yr);t.firstDates[y]=c,t.firstSources[y]=p;return}if(t.states[u]===qa){n.delete(d),t.states[u]=0;return}if(t.states[u]===Yr)throw new Error(`[daily-report] The ids stream list dropped report ${d}, which it no longer holds`);t.states[u]=Yr};return{add:s,change:i,remove:l,fold:d=>{let{removed:c,appended:p,replaced:u}=sl(d),{previous:y,next:m}=u;for(let f=0;f<c.length;f++)l(c.ids[f],c.businessDateCodes[f],c.sourceTypeCodes[f]);for(let f=0;f<m.length;f++)i(m.ids[f],y.businessDateCodes[f],y.sourceTypeCodes[f],m.businessDateCodes[f],m.sourceTypeCodes[f]);for(let f=0;f<p.length;f++)s(p.ids[f],p.businessDateCodes[f],p.sourceTypeCodes[f])},isEmpty:()=>n.size===0,build:(d,c)=>{let p=0,u=0,y=0;for(let S=0;S<e;S++){let g=t.states[S];g===qa?p+=1:g===Xa?u+=1:g===Yr&&(y+=1)}let m=p+2*u+y;if(m===0)return{base:d,revision:c,appended:ht,replaced:Bp,removed:ht};let f=fn(m),b=0,R=p,E=R+u,h=E+u;for(let S=0;S<e;S++){let g=t.states[S];g===qa?(f.ids[b]=t.ids[S],f.businessDateCodes[b]=t.lastDates[S],f.sourceTypeCodes[b]=t.lastSources[S],b+=1):g===Xa?(f.ids[R]=t.ids[S],f.businessDateCodes[R]=t.firstDates[S],f.sourceTypeCodes[R]=t.firstSources[S],R+=1,f.ids[E]=t.ids[S],f.businessDateCodes[E]=t.lastDates[S],f.sourceTypeCodes[E]=t.lastSources[S],E+=1):g===Yr&&(f.ids[h]=t.ids[S],f.businessDateCodes[h]=t.firstDates[S],f.sourceTypeCodes[h]=t.firstSources[S],h+=1)}return{base:d,revision:c,appended:Jt(f,0,p),replaced:u===0?Bp:{previous:Jt(f,p,u),next:Jt(f,p+u,u)},removed:Jt(f,p+2*u,y)}},reset:()=>{if(e=0,t.ids.length<=Fg){n.clear();return}t=al(Hp),n=new er(r)}}},Vp=(e,t,r)=>{let n=il();for(let o of e)n.fold(o);return n.build(t,r)},Up=(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 Vg={items:Pa,held:new Map,hidden:new Map,revision:null,settled:!1},ll=(e,t,r)=>{let n=0,o=e.length;for(;n<o;){let a=n+o>>1;bn(Kr(e,a),Rn(e,a),t,r)<0?n=a+1:o=a}return n<e.length&&Kr(e,n)===t?n:-1},Za=(e,t)=>ll(e,t.reportHubId,kt(t.businessDate)),dl=(e,t,r,n)=>{let o=n,a=e.length;for(;o<a;){let s=o+a>>1;bn(Kr(e,s),Rn(e,s),t,r)<=0?o=s+1:a=s}return o},Ug=(e,t)=>{if(t.length===0)return[];let r=e.length-1;if(e.length===0||bn(Kr(e,r),Rn(e,r),t.ids[0],t.businessDateCodes[0])<0)return new Array(t.length).fill(e.length);let n=[],o=0;for(let a=0;a<t.length;a++)o=dl(e,t.ids[a],t.businessDateCodes[a],o),n.push(o);return n},Wg=e=>{for(let t=1;t<e.length;t++)if(bn(e.ids[t-1],e.businessDateCodes[t-1],e.ids[t],e.businessDateCodes[t])>=0)return!1;return!0},Kp=e=>{if(Wg(e))return e;let t=Array.from({length:e.length},(n,o)=>o);t.sort((n,o)=>bn(e.ids[n],e.businessDateCodes[n],e.ids[o],e.businessDateCodes[o]));let r=new xt(e.length);for(let n of t)r.pushFrom(e,n);return r.build()},zp=(e,t,r,n)=>{let o=Qu(t.readRows()),a=new er(d=>o.ids[d]);for(let d=0;d<o.length;d++)a.set(o.ids[d],d);let s=new xt(o.length+e.held.size),i=new Map;for(let d=0;d<o.length;d++){let c=o.ids[d];n.has(c)?i.set(c,o.itemAt(d)):s.pushFrom(o,d)}let l=new Map;for(let d of e.items.chunks)for(let c=0;c<d.length;c++){let p=d.ids[c];if(a.find(p)!==-1||n.has(p))continue;let u=e.held.get(p),y=u===void 0?Number.NEGATIVE_INFINITY:u.since;r&&p>0&&t.itemsRevision>y||(l.set(p,{item:u===void 0?Ma(p,d.businessDateCodes[c],d.sourceTypeCodes[c]):u.item,since:y}),s.pushFrom(d,c))}return{items:tp(Kp(s.build())),held:l,hidden:i,revision:t.itemsRevision,settled:r}},Kg=(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?[]:Up(t.itemsChanges,o);if(o===null||a===null)return zp(e,t,r,n);let s=e.items,i=[],l=[],d=a.length===0?null:a.length===1?sl(a[0]):Vp(a,o,t.itemsRevision),c=new xt(d===null?0:d.appended.length+d.replaced.next.length),p=null,u=()=>(p===null&&(p=new Map(e.held)),p),y=null,m=()=>(y===null&&(y=new Map(e.hidden)),y);if(d!==null){let{appended:E,replaced:h,removed:S}=d;for(let T=0;T<S.length;T++){let w=S.ids[T];if(e.hidden.has(w)&&m().delete(w),e.held.has(w))continue;let C=ll(s,w,S.businessDateCodes[T]);C!==-1&&(r||n.has(w)?i.push(C):u().set(w,{item:Ma(w,Rn(s,C),Xi(s,C)),since:Number.NEGATIVE_INFINITY}))}let g=(T,w,C)=>{let H=T.ids[w],U=T.businessDateCodes[w],B=T.sourceTypeCodes[w],A=e.held.get(H);A!==void 0&&u().delete(H);let v=A===void 0?C:kt(A.item.businessDate),I=v===-1?-1:ll(s,H,v);if(n.has(H)){I!==-1&&i.push(I),m().set(H,T.itemAt(w));return}if((y===null?e.hidden:y).has(H)&&m().delete(H),I!==-1&&Rn(s,I)===U){Xi(s,I)!==B&&l.push({index:I,id:H,businessDateCode:U,sourceTypeCode:B});return}I!==-1&&i.push(I),c.push(H,U,B)};for(let T=0;T<h.next.length;T++)g(h.next,T,h.previous.businessDateCodes[T]);for(let T=0;T<E.length;T++)g(E,T,-1)}let f=t.itemsRevision;if(r)for(let[E,h]of p===null?e.held:p){if(E<=0||f<=h.since)continue;let S=Za(s,h.item);S!==-1&&i.push(S),u().delete(E)}let b=Kp(c.build());return{items:Sn(s,{removals:i,replacements:l,additions:b,insertions:Ug(s,b)}),held:p===null?e.held:p,hidden:y===null?e.hidden:y,revision:f,settled:r}},Wp=new WeakMap,zg=(e,t,r,n)=>{let o=Wp.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=Kg(e,t,r,n);return Wp.set(e,{revision:t.itemsRevision,changes:t.itemsChanges,settled:r,tombstones:n,rows:a}),a},$p=(e,t,r)=>{let[n,o]=Bg(()=>zp(Vg,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>zg(a,e,t,r)),[n,o]},Qa=(e,t,r)=>{if(e.hidden.has(t.reportHubId))return cl(e,t.reportHubId);if(e.held.has(t.reportHubId)||Za(e.items,t)!==-1||po(e.items,t.reportHubId)!==-1)return e;let n=Sn(e.items,{...zr,additions:zi([t]),insertions:[dl(e.items,t.reportHubId,kt(t.businessDate),0)]}),o=new Map(e.held);return o.set(t.reportHubId,{item:t,since:r}),{...e,items:n,held:o}},cl=(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:Sn(e.items,{...zr,additions:zi([r]),insertions:[dl(e.items,r.reportHubId,kt(r.businessDate),0)]}),hidden:n}},qr=(e,t)=>{let r=e.held.get(t);if(r===void 0)return e;let n=Za(e.items,r.item),o=new Map(e.held);return o.delete(t),{...e,items:Sn(e.items,n===-1?zr:{...zr,removals:[n]}),held:o}},jp=(e,t)=>{let r=e.held.get(t.reportHubId),n=Za(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:Sn(e.items,n===-1?zr:{...zr,removals:[n]}),held:o}},Gp=e=>({...e,revision:null});import{startTransition as oE,useLayoutEffect as aE,useState as sE,useSyncExternalStore as So}from"react";var Yp=e=>{let t=new URLSearchParams;return e.cursor!==null&&(t.set(xe.cursorReportHubId,String(e.cursor.reportHubId)),e.cursor.businessDate!==null&&t.set(xe.cursorBusinessDate,e.cursor.businessDate)),e.snapshot!==null&&t.set(xe.cursorSnapshot,e.snapshot),e.forceRefresh&&t.set(xe.forceRefresh,"true"),t};var ho=1,$g=2,jg=1024,An=1024,Ja=class{constructor(){this.used=0;this.holes=0;this.ids=new Float64Array(An);this.dates=new Uint32Array(An);this.sources=new Uint8Array(An);this.flags=new Uint8Array(An);this.positions=new er(t=>this.ids[t])}get size(){return this.positions.size}find(t){return this.positions.find(t)}businessDateCodeAt(t){return this.dates[t]}sourceTypeCodeAt(t){return this.sources[t]}itemAt(t){return{reportHubId:this.ids[t],businessDate:Qt(this.dates[t]),sourceType:Wr(this.sources[t])}}add(t,r,n){this.used===this.ids.length&&this.grow();let o=this.used;this.ids[o]=t,this.dates[o]=r,this.sources[o]=n,this.flags[o]=ho,this.used+=1,this.positions.set(t,o)}replace(t,r,n){this.dates[t]=r,this.sources[t]=n}delete(t){this.positions.delete(this.ids[t]),this.flags[t]=0,this.holes+=1,this.holes>=jg&&this.holes>this.positions.size&&this.compact()}markSeen(t){let r=this.positions.find(t);r!==-1&&(this.flags[r]|=$g)}clearSeen(){for(let t=0;t<this.used;t++)this.flags[t]&=ho}unseenIds(){let t=[];for(let r=0;r<this.used;r++)this.flags[r]===ho&&t.push(this.ids[r]);return t}rows(){let t=new xt(this.positions.size);for(let r=0;r<this.used;r++)(this.flags[r]&ho)!==0&&t.push(this.ids[r],this.dates[r],this.sources[r]);return t.build()}grow(){this.resize(this.ids.length*2)}resize(t){let r=new Float64Array(t);r.set(this.ids.subarray(0,this.used));let n=new Uint32Array(t);n.set(this.dates.subarray(0,this.used));let o=new Uint8Array(t);o.set(this.sources.subarray(0,this.used));let a=new Uint8Array(t);a.set(this.flags.subarray(0,this.used)),this.ids=r,this.dates=n,this.sources=o,this.flags=a}compact(){let t=0;for(let r=0;r<this.used;r++)(this.flags[r]&ho)!==0&&(this.ids[t]=this.ids[r],this.dates[t]=this.dates[r],this.sources[t]=this.sources[r],this.flags[t]=this.flags[r],t+=1);this.flags.fill(0,t,this.used),this.used=t,this.holes=0,this.positions.clear();for(let r=0;r<t;r++)this.positions.set(this.ids[r],r);this.ids.length>Math.max(An,t*4)&&this.resize(Math.max(An,t*2))}};var qp=()=>{let e=new TextDecoder,t=[],r=0,n=o=>{if(t.length===0)return e.decode(o);let a=new Uint8Array(r+o.length),s=0;for(let i of t)a.set(i,s),s+=i.length;return a.set(o,s),t=[],r=0,e.decode(a)};return{push:o=>{let a=[],s=0;for(let i=o.indexOf(10);i!==-1;i=o.indexOf(10,s))a.push(n(o.subarray(s,i))),s=i+1;return s<o.length&&(t.push(o.slice(s)),r+=o.length-s),a},end:()=>t.length===0?[]:[n(new Uint8Array(0))]}};var Gg=e=>({debug:e,info:e,warn:e,error:e}),Yg=50,qg=32,Xp=0,Xg=()=>(Xp+=1,Xp),Zg=1e3,Qg=3e4,Jg=6,eE=3e4,Zp=Symbol("read-stall"),tE=Object.freeze({reading:()=>{},stalled:()=>!1,stop:()=>{}}),rE="/daily_report/api",nE=e=>typeof e=="object"&&e!==null&&e.name==="AbortError",es=class{constructor(t={}){this.rows=new Ja;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.externalRemovalTombstones=new Set;this.pendingForceRefresh=!1;this.wakeRetryWait=null;this.handleOnline=()=>this.wakeRetryWait?.();this.publishCoalesceTimer=null;this.lastItemsPublishAt=Number.NEGATIVE_INFINITY;this.pendingItemsChange=il();this.apiBasePath=t.apiBasePath??rE,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=ft(t.warn===void 0?void 0:Gg(t.warn),1,"IdsStream").warn,this.readStallTimeoutMs=t.readStallTimeoutMs??eE,this.publishCoalesceMs=t.publishCoalesceMs??Yg,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)return;this.externalRemovalTombstones.delete(t.reportHubId);let r=this.rows.find(t.reportHubId),n=r===-1?void 0:this.rows.itemAt(r),o=t.sourceType??n?.sourceType,a=this.putItem(t.reportHubId,kt(t.businessDate),co(o));this.rows.markSeen(t.reportHubId),a&&this.schedulePublishItems()}applyExternalRemoval(t){this.disposed||(this.externalRemovalTombstones.add(t),this.deleteItem(t)&&this.schedulePublishItems())}has(t){return this.rows.find(t)!==-1}readRows(){let t=this.rows.rows();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;for(let l=0;l<r.length;l++)a.add(r.ids[l]);let s=new Map;for(let l=0;l<n.previous.length;l++)s.set(n.previous.ids[l],l);let i=new xt(t.length+o.length);for(let l=0;l<t.length;l++){let d=t.ids[l];if(a.has(d))continue;let c=s.get(d);c===void 0?i.pushFrom(t,l):i.pushFrom(n.previous,c)}for(let l=0;l<o.length;l++)i.pushFrom(o,l);return i.build()}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.rows.clearSeen(),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>=Jg){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(Zg*2**(this.consecutiveFailures-1),Qg))}}pruneUnseenItems(){let t=this.rows.unseenIds();this.rows.clearSeen();for(let r of t)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=this.readStallTimeoutMs<=0?await n:await this.awaitResponseHeaders(n);if(o===Zp)return r.abort(),{kind:"retryable",error:new Error("Stream stalled: no response headers within timeout")};if(o.status===401||o.status===403)return{kind:"auth-required"};if(!(o.ok&&o.body))return{kind:"retryable",error:new Error(`ids stream HTTP ${o.status}`)};let a=o.body.getReader(),s=qp(),i=this.watchReadSilence(a),l=!1,d=!1;try{for(;;){i.reading();let c=await a.read();if(i.stalled())return r.abort(),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let p=c.done?s.end():s.push(c.value),u=!1,y=!1;for(let m of p){if(m.trim()==="")continue;let f;try{f=JSON.parse(m)}catch{y=!0;break}let b=xi(f);if(b==="unknown"){this.warn("skipped line of unknown kind");continue}if(b==="error"){l=!0;continue}let R=nu(f);if(R===null){y=!0;break}u=this.absorbChunkLine(R)||u,R.total!==null&&R.total!==this.state.totalCount&&this.publish({totalCount:R.total}),R.resumeCursor!==null&&(this.lastCursor=R.resumeCursor),R.isLast&&(d=!0)}if(u&&(this.consecutiveFailures=0,this.schedulePublishItems()),y)return this.warn("rejected a malformed line"),r.abort(),{kind:"retryable",error:new Error("ids stream line rejected")};if(c.done)break}}finally{i.stop()}return l?{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 nE(n)?{kind:"aborted"}:{kind:"retryable",error:n instanceof Error?n:new Error(String(n))}}}awaitResponseHeaders(t){return new Promise((r,n)=>{let o=this.setTimeoutFn(()=>r(Zp),this.readStallTimeoutMs*3);t.then(a=>{this.clearTimeoutFn(o),r(a)},a=>{this.clearTimeoutFn(o),n(a)})})}watchReadSilence(t){if(this.readStallTimeoutMs<=0)return tE;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&&(this.lastCursor=null,this.lastSnapshot=null,this.rows.clearSeen(),this.externalRemovalTombstones.clear()),t.snapshot!==null&&(this.lastSnapshot=t.snapshot),this.absorbStreamAnchor(t.streamAnchor);let{provisional:r}=t,n=!1,o=null,a=kt(null),s,i=co(void 0),l=(d,c,p)=>{this.externalRemovalTombstones.has(d)||(c!==o&&(o=c,a=kt(c)),p!==s&&(s=p,i=co(p)),this.putItem(d,a,i)&&(n=!0),r||this.rows.markSeen(d))};return ou(t.rows,l),n}putItem(t,r,n){let o=this.rows.find(t);if(o===-1)return this.rows.add(t,r,n),this.pendingItemsChange.add(t,r,n),!0;let a=this.rows.businessDateCodeAt(o),s=this.rows.sourceTypeCodeAt(o);return a===r&&s===n?!1:(this.rows.replace(o,r,n),this.pendingItemsChange.change(t,a,s,r,n),!0)}deleteItem(t){let r=this.rows.find(t);return r===-1?!1:(this.pendingItemsChange.remove(t,this.rows.businessDateCodeAt(r),this.rows.sourceTypeCodeAt(r)),this.rows.delete(r),!0)}absorbStreamAnchor(t){if(t.kind!=="absent"){if(t.kind==="malformed"){this.warn(`skipped a malformed streamAnchor: ${String(t.received)}`);return}this.streamAnchorRevision+=1,this.publish({streamAnchor:{lastEventId:t.value,revision:this.streamAnchorRevision}})}}takePendingItems(){if(this.pendingItemsChange.isEmpty())return{};this.lastItemsPublishAt=this.now();let t=Xg(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange.reset(),{loadedCount:this.rows.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-qg),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=Yp({cursor:this.lastCursor,snapshot:this.lastCursor===null?null:this.lastSnapshot,forceRefresh:t}).toString();return`${this.apiBasePath}/${ua}${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 iE=6e4,ae=null,Qp=!1,Ro=new Set,ts={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},ul=()=>{for(let e of Ro)e()},pl=()=>{ae&&(ae.unsubscribe(),ae.client.dispose(),ae=null,ul())},bo=e=>{if(typeof window>"u")return;let t=e.apiBasePath??no.apiBasePath;if(ae&&(ae.userKey!==e.userKey||ae.apiBasePath!==t)&&(ae.userKey!==e.userKey&&so(),pl()),!ae){let r=new es({apiBasePath:t});ae={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(ul)},lE(),r.start(),ul();return}ns(ae)},ns=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>iE&&e.client.refresh()},lE=()=>{if(Qp||typeof document>"u"||typeof window>"u")return;Qp=!0;let e=()=>{ae&&ns(ae)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},ml=e=>{if(!(typeof window>"u")){if(!ae){bo(e);return}if(ae.userKey!==e.userKey){so(),pl(),bo(e);return}ns(ae)}},fl=()=>{typeof window>"u"||!ae||ns(ae)},Dn=e=>{ae?.client.applyExternalUpsert(e)},wn=e=>{ae?.client.applyExternalRemoval(e)},em=e=>ae===null?!1:ae.client.has(e),tm=()=>ae===null?ht:ae.client.readRows(),yl=()=>ae===null?0:ae.client.getState().itemsRevision,os=()=>{ae?.client.retry()},as=()=>{ae?.client.resync()},go=(e={})=>{ae?.client.refresh(e)},rm=()=>ae?.userKey,Eo=e=>(Ro.add(e),()=>Ro.delete(e)),rs=()=>ae?.client.getState()??ts,dE=()=>ts,cE=()=>So(Eo,rs,dE),ss=(e,t)=>{let r=ts,n=e(ts);return()=>{let o=rs();if(o===r)return n;let a=e(o);return r=o,t(n,a)||(n=a),n}},nm=ss(({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),uE=nm(),xn=()=>So(Eo,nm,()=>uE),om=ss(({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),pE=om(),am=()=>So(Eo,om,()=>pE),sm=ss(({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),mE=sm(),im=()=>So(Eo,sm,()=>mE),lm=ss(({phase:e,totalCount:t})=>({phase:e,totalCount:t}),(e,t)=>e.phase===t.phase&&e.totalCount===t.totalCount),fE=lm(),dm=()=>So(Eo,lm,()=>fE),cm=e=>e.phase==="complete"&&!e.isRevalidating,Jp=e=>`${e.itemsRevision}:${cm(e)}`,um=()=>{let[,e]=sE(0),t=rs(),r=Jp(t);return aE(()=>{let n=r,o=()=>{let a=Jp(rs());a!==n&&(n=a,oE(()=>e(s=>s+1)))};return Ro.add(o),o(),()=>{Ro.delete(o)}},[]),{itemsRevision:t.itemsRevision,itemsChanges:t.itemsChanges,readRows:tm,settled:cm(t)}};import.meta.hot?.dispose(pl);var pm="Internal";var is=(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[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 yE=3e4,mm=e=>{let t=is(yE,e,()=>{});return{add:r=>t.add(r,!0),has:r=>t.get(r)===!0}},In=(e,t)=>e.has(t)?e:new Set(e).add(t),fm=(e,t)=>{if(!e.has(t))return e;let r=new Set(e);return r.delete(t),r},ym=new Set,hm=()=>new Set,Rm=()=>new Map,bm=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()}}}},Sm=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)});var hl=0,Rl=e=>{let t=Xe("drawTemporaryId: nowMs",e,1);return hl=Math.min(-t,hl-1),hl};var tr=(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};var bl=ft(void 0,1,"ActionProvider"),hE=1e3,Sl=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportActionHttpError",this.status=r}},IO=Object.freeze(["delete","deleteComment"]),RE=e=>e.intent==="create"?null:e.reportHubId,bE=(e,t)=>{let r=e;if(r.intent==="clearCache"||r.clientTempId!==t.clientTempId)return!1;let n=RE(t);return n===null||r.reportHubId===n},gm=e=>{let{apiBasePath:t,labels:r,user:n,items:o,isSessionStillOurs:a,ownEchoIds:s,ledgers:i,writeLedgers:l,pendingAddPromises:d,removedIds:c,searchRemovedIds:p,setRemovedVersion:u,setRows:y,drafts:m,invalidateSearch:f,announceDataChange:b,notifyError:R}=e,E=async(A,v,I={})=>{let{intent:L}=A,{onGone:M}=v,{lockedReportHubId:O}=I,D=O===void 0?null:ku(O);v.onOptimistic?.(),s.add(A.clientTempId);let V=()=>{if(!a())throw bl.warn(`[executeAction] ${L} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${L}`)};try{let F=await fetch(`${t}/${Fe.action}`,{method:"POST",body:Ga(A),headers:{Accept:"application/json"}});if(F.status===404&&M!==void 0)return V(),M();if(!F.ok)throw new Sl(L,F.status);let z=Fp(L,await F.json());if("mismatch"in z)throw new Error(`[daily-report] ${L} answered a body that is not its result (${z.mismatch})`);let{result:j}=z;if(!bE(j,A))throw new Error(`[daily-report] ${L} answered another request`);return V(),v.onSuccess(j)}catch(F){throw bl.error(`${L} failed:`,F),a()&&(v.onFailure?.(),R({operation:L,message:r.operationFailed(L),cause:F})),F}finally{D?.()}},h=(A,v,I)=>({reportHubId:A,clientTempId:I,businessDate:typeof v=="string"?v:null,operationTimestamp:Date.now()});return{addComment:async(A,v,I)=>{let L=Rl(Date.now()),M=E({...h(A,I,String(L)),intent:"addComment",content:v},{onOptimistic:()=>{l(({pendingAddCommentIds:O})=>{let D=O.get(A);D===void 0?O.set(A,new Map([[L,v]])):D.set(L,v)})},onSuccess:({newComment:O})=>{let D=O.id;l(({resolvedIdMap:F,pendingAddCommentIds:z})=>{F.set(L,D),z.get(A)?.delete(L)}),f();let V=ot(A,{ignoreExpiry:!0});return V&&!V.postedComments.some(F=>F.id===D)&&yt(A,{postedComments:[...V.postedComments,{...O,isMine:!0,userName:tr(n,r.unknownUser)}]}),D},onFailure:()=>{l(({pendingAddCommentIds:O})=>O.get(A)?.delete(L))}}).finally(()=>d.current.delete(L));d.current.set(L,M),await M},deleteComment:async(A,v,I)=>{l(({pendingDeleteCommentIds:O})=>{let D=O.get(A);D===void 0?O.set(A,new Set([v])):D.add(v)});let L=v;if(v<0){let O=i.resolvedIdMap.current.get(v);if(O!==void 0)L=O;else{let D=d.current.get(v);if(!D)return;try{L=await D}catch{return}}}let M=()=>{let O=ot(A,{ignoreExpiry:!0});O&&(yt(A,{postedComments:O.postedComments.filter(D=>D.id!==L)}),Hu(L)),l(({pendingDeleteCommentIds:D})=>D.get(A)?.delete(v)),f()};await E({...h(A,I,crypto.randomUUID()),intent:"deleteComment",commentId:L},{onSuccess:M,onGone:M,onFailure:()=>{l(({pendingDeleteCommentIds:O})=>O.get(A)?.delete(v))}})},toggleStar:async(A,v,I)=>{await E({...h(A,I,crypto.randomUUID()),intent:"toggleStar",value:v},{onOptimistic:()=>{yt(A,{isStarred:v}),l(({pendingStarUpdates:L})=>L.set(A,v))},onSuccess:({updatedStatus:L})=>{ot(A,{ignoreExpiry:!0})&&(yt(A,{isStarred:L.isStarred}),b()),l(({pendingStarUpdates:M})=>M.delete(A))},onFailure:()=>{yt(A,{isStarred:!v}),l(({pendingStarUpdates:L})=>L.delete(A))}})},toggleRead:async(A,v,I)=>{await E({...h(A,I,crypto.randomUUID()),intent:"toggleRead",value:v},{onOptimistic:()=>{yt(A,{isRead:v}),l(({pendingReadUpdates:L})=>L.set(A,v))},onSuccess:({updatedStatus:L})=>{ot(A,{ignoreExpiry:!0})&&(yt(A,{isRead:L.isRead}),b()),l(({pendingReadUpdates:M})=>M.delete(A))},onFailure:()=>{yt(A,{isRead:!v}),l(({pendingReadUpdates:L})=>L.delete(A))}})},createReport:async A=>{let v=Rl(Date.now()),I=new Date().toISOString(),L={reportHubId:v,date:A,createdAt:I,author:tr(n,r.unknownUser),userId:n===void 0?null:n.id,sourceType:pm,employeeName:tr(n,r.unknownUser),updatedBy:tr(n,r.unknownUser),updatedAt:I,category:null,creationCategory:null,visitTimeFrom:null,visitTimeTo:null,customerName:null,interviewers:[],subject:"",content:"",externalComments:[],isRead:!0,isStarred:!1,isDraft:!0,labels:[],postedComments:[],attachments:[]};Pu(L,Date.now()+3e5,!1),y(M=>Qa(M,{reportHubId:v,businessDate:A},Number.NEGATIVE_INFINITY));try{let M=await E({intent:"create",clientTempId:String(v),businessDate:A,operationTimestamp:Date.now()},{onSuccess:V=>V.report}),O=M.reportHubId,D=yl();return Dn({reportHubId:O,businessDate:A}),Fu(O,hE),Sr(O,M),b(),f(),y(V=>Qa(qr(V,v),{reportHubId:O,businessDate:A},D)),O}catch(M){throw bl.error("[createReport] Failed",M),y(O=>qr(O,v)),M}},updateReport:async(A,v,I)=>{await E({...h(A,I,crypto.randomUUID()),intent:"update",changes:{title:v.title,content:v.content}},{onSuccess:()=>{ot(A,{ignoreExpiry:!0})&&(yt(A,{subject:v.title,content:v.content}),b()),f()}},{lockedReportHubId:A})},publishReport:async(A,v)=>{let I=ot(A,{ignoreExpiry:!0});await E({...h(A,v,crypto.randomUUID()),intent:"publish"},{onOptimistic:()=>{I&&(yt(A,{isDraft:!1}),b())},onSuccess:({report:L})=>{L!==null&&(Sr(A,L),b()),v!==void 0&&Dn({reportHubId:A,businessDate:v}),f()},onFailure:()=>{I&&(yt(A,{isDraft:I.isDraft}),b())}})},deleteReport:async(A,v)=>{let I=np(o,A);c.current=In(c.current,A),p.current.add(A),u(M=>M+1),wn(A),I!==void 0&&y(M=>jp(M,I));let L=()=>{Ia(A,v),m.discard(A),f()};try{await E({...h(A,v,crypto.randomUUID()),intent:"delete"},{onSuccess:L,onGone:L},{lockedReportHubId:A})}catch(M){if(!a())return;c.current=fm(c.current,A),p.current.delete(A),u(V=>V+1);let O=I===void 0?v:I.businessDate,D=yl();throw O!==void 0&&Dn({reportHubId:A,businessDate:O}),y(V=>{let F=cl(V,A);return I===void 0?F:Qa(F,I,D)}),M}}}};var Em=ft(void 0,1,"ActionProvider"),SE=3e4,Tm=e=>is(SE,e,(t,r)=>{r.unsubscribe(),Em.warn(`[SSE Queue] Expired: reportHubId=${t}, dropped=${r.messages.length} messages`)}),gE=(e,t)=>{t!==void 0&&Dn({reportHubId:e,businessDate:t})},Am=e=>{let{user:t,userId:r,labels:n,isSessionStillOurs:o,ownEchoIds:a,ledgers:s,writeLedgers:i,removedIds:l,searchRemovedIds:d,setRemovedVersion:c,setRows:p,drafts:u,invalidateSearch:y,announceDataChange:m,pendingSseQueue:f,replay:b}=e,R=(h,S)=>{let g=f.get(h);if(g!==void 0){g.messages.push(S);return}let T;T={messages:[S],unsubscribe:Bu(h,()=>{if(f.get(h)===T&&ot(h,{ignoreExpiry:!0})){f.remove(h),T.unsubscribe(),Em.info(`[SSE Queue] Replaying ${T.messages.length} messages for reportHubId=${h}`);for(let C of T.messages)b(C)}})},f.add(h,T)};return h=>{if(o()&&!a.has(h.clientTempId))switch(h.type!=="status-update"&&y(),h.type){case"comment-add":{let{comment:S,reportHubId:g}=h,T=ot(g,{ignoreExpiry:!0});if(T){if(T.postedComments.some(U=>U.id===S.id))return;let w=typeof r=="string"&&S.userId===r,C={...S,userName:S.userName||(w?tr(t,n.unknownUser):n.unknownUser),createdAt:S.createdAt||new Date().toISOString(),isMine:w},H={...T,postedComments:[...T.postedComments,C].sort((U,B)=>new Date(U.createdAt||0).getTime()-new Date(B.createdAt||0).getTime())};Sr(g,H),Fi(g),m()}else R(g,h);break}case"comment-delete":{let{commentId:S,reportHubId:g}=h,T=ot(g,{ignoreExpiry:!0});if(T){let w={...T,postedComments:T.postedComments.filter(C=>C.id!==S)};Sr(g,w),Fi(g),m()}else R(g,h);break}case"status-update":{let{statusType:S,value:g,reportHubId:T}=h,w=ot(T,{ignoreExpiry:!0});if(S==="star")if(s.pendingStarUpdates.current.get(T)===g&&i(({pendingStarUpdates:C})=>C.delete(T)),w){let C={...w,isStarred:g};Sr(T,C),m()}else R(T,h);else if(S==="read")if(s.pendingReadUpdates.current.get(T)===g&&i(({pendingReadUpdates:C})=>C.delete(T)),w){let C={...w,isRead:g};Sr(T,C),m()}else R(T,h);break}case"report-delete":{let{reportHubId:S}=h;l.current=In(l.current,S),d.current.add(S),c(T=>T+1),wn(S),p(T=>qr(T,S)),u.discard(S),f.remove(S)?.unsubscribe();let g=ot(S,{ignoreExpiry:!0});g?.date&&(Ia(S,g.date),m());break}case"report-create":case"report-update":case"report-publish":{let{report:S}=h;Vu(S),(h.type==="report-create"||h.type==="report-publish")&&gE(S.reportHubId,S.date),m();break}}}};import{memo as IE,useLayoutEffect as vE}from"react";import{systemSseRuntime as ls}from"@aiquants/sse";import{createBrowserEventSource as EE}from"@aiquants/sse/client";import{useReopeningEventSource as TE}from"@aiquants/sse/react";import{useEffect as gl,useRef as ds,useState as AE}from"react";var Xr=ft(void 0,1,"SseConnection"),DE=Object.freeze({kind:"resyncing"}),Dm={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},wE=1,wm=Ai*3,xE=wm+Ai,El=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=$(),{streamAnchor:o,phase:a,isRevalidating:s,error:i}=xn(),[l,d]=AE({generation:0,minAnchorRevision:1,anchored:!1}),c=l.generation>0&&!l.anchored,p=c&&a==="complete"&&!s?i:null,u=ds(0),y=ds(null),m=ds(n);m.current=n;let f=ds(0);f.current=o===null?0:o.revision,gl(()=>{l.anchored||o===null||o.revision<l.minAnchorRevision||(y.current=o.lastEventId,u.current=0,d({...l,anchored:!0}))},[l,o]),gl(()=>{if(!e||p===null)return;let{initialDelayMs:R,maxDelayMs:E,multiplier:h}=Dm,S=ls.random()*Math.min(E,R*h**u.current);Xr.warn(`SSE resync: the ids rescan gave up (${p.message}); rescanning in ${Math.round(S)} ms`);let g=ls.setTimer(()=>{u.current+=1,as()},S);return()=>ls.clearTimer(g)},[e,p]);let{status:b}=TE(e&&l.anchored?`${r}#${l.generation}`:null,{resolveUrl:({lastEventId:R})=>R===null?r:`${r}?${tu}=${encodeURIComponent(R)}`,initialLastEventId:y.current,withCredentials:!1,createEventSource:EE,runtime:ls,backoff:Dm,healthyOpenMs:xE,nativeRetryLimit:wE,giveUpAfterFailures:"never",terminalEvents:eu,heartbeat:{staleAfterMs:wm,onHeartbeat:null},events:{message:R=>{R.lastEventId!==""&&(ca(R.lastEventId)?y.current=R.lastEventId:Xr.warn("SSE event carried a malformed id; keeping the previous cursor:",R.lastEventId));try{let E=JSON.parse(R.data),h=ru.safeParse(E);if(!h.success){Xr.error("SSE Validation Error:",h.error.flatten(),"raw message:",E);return}if(h.data.type==="connected"){Xr.info("SSE Subscribe Ready");return}t(h.data)}catch(E){Xr.error("SSE Parse Error",E)}}}});return gl(()=>{if(b.kind==="faulted"){Xr.error("SSE connection faulted:",b.error);return}if(b.kind==="terminated")switch(b.terminalEvent){case"auth-required":m.current();return;case"forbidden":Xr.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let R=f.current+1;d(E=>({generation:E.generation+1,minAnchorRevision:R,anchored:!1})),as();return}}},[b]),e&&c?DE:b};var xm=Object.freeze({kind:"idle"}),Tl=IE(({isSseEnabled:e,onMessage:t,onStatus:r})=>{let n=El({isSseEnabled:e,onMessage:t});return vE(()=>{r(n)},[n,r]),null});Tl.displayName="DailyReportSseConnectionHost";import{createContext as CE,useCallback as _E,useSyncExternalStore as Im}from"react";var vm=()=>{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)}}},Al=CE(null),Tr=()=>wt(Al,"useDailyReportDraftStore","DailyReportActionProvider"),Cm=(e,t)=>_E(r=>e.subscribe(t,r),[e,t]),cs=e=>{let t=Tr(),r=()=>t.modeOf(e);return Im(Cm(t,e),r,r)},_m=e=>{let t=Tr(),r=()=>t.inputOf(e),n=Im(Cm(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 zE}from"@aiquants/swipe-overlay";import{createContext as $E,Fragment as jE,useCallback as fs,useId as wl,useLayoutEffect as $m,useMemo as GE,useRef as Qr,useState as Um}from"react";import{createPortal as Wm}from"react-dom";import{createContext as OE,useContext as ME}from"react";var LE=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),us={capture:!0},ps=new WeakMap,NE=e=>{let t=o=>{LE.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,us),e.removeEventListener("pointerdown",r,us)}};return e.addEventListener("keydown",t,us),e.addEventListener("pointerdown",r,us),n},Lm=e=>{let t=ps.get(e),r=t===void 0?NE(e):t;t===void 0&&ps.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),ps.delete(e)))}},To=e=>{let t=ps.get(e);return t===void 0?null:t.last};var PE=Object.freeze({visibilityProperty:!0,opacityProperty:!0}),kE=Object.freeze({visibilityProperty:!0}),Nm="data-daily-report-view-tabs",Om={[Nm]:""},Mm="data-daily-report-status-panel",Pm={[Mm]:""},FE=e=>{for(let t of e.getClientRects())if(t.width>0&&t.height>0)return!0;return!1},km=e=>e.isConnected&&lo(e)&&FE(e)&&e.checkVisibility(e.hasAttribute(Ha)?kE:PE),rr=e=>{for(let t of e)if(!(t===null||!km(t))&&(t.focus({preventScroll:!0}),Ve(t)===t))return t;return null},HE=e=>e.querySelector(`[${Nm}] [role="tab"][aria-selected="true"]`),Dl=OE(null),Fm=()=>{let e=ME(Dl);if(e===null)throw new Error("[daily-report] useFocusViewRow is called outside a view's rows");return e},BE=(e,t,r)=>{if(Ur(e))return!0;if(r==="handOver")return!1;let n=Ve(e);return n===null||!e.contains(n)?!1:r==="overlay"||n!==t},Hm=(e,t,r)=>{if(r!=="pointer"||t===null)return e;let n=yp(t);return n!==null&&km(n)?n:e},Bm=(e,t,r,n)=>BE(e,t,n)?rr([Hm(t,r,To(e.ownerDocument))]):null,VE=e=>{let t=e.getAttribute("aria-activedescendant");return t===null?null:e.ownerDocument.getElementById(t)},ms=e=>{let t=fp(e);return[t===null?null:Hm(t,VE(t),To(t.ownerDocument)),HE(e),e.querySelector(`[${Mm}]`)]};var Zr=e=>e.isComposing||e.keyCode===229,vn=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 UE={kind:"hold"},WE=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),KE=(e,t)=>{let r=e.getAttribute("role");return r!==null&&WE.has(r)&&e!==t&&e.contains(t)},nr=e=>e.key==="Escape"&&!e.defaultPrevented&&!Zr(e),Vm=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||Zr(e))return null;let r=e.target;if(!(he(r)&&t.contains(r)))return null;let n=La(t);if(n.length===0)return UE;let{before:o,within:a,after:s}=io(t,r);return e.shiftKey?o.some(i=>!KE(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 Ht,jsxs as Gm}from"react/jsx-runtime";var YE=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",yr),qE="flex shrink-0 justify-center p-[8px]",XE=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",qd),ZE="data-daily-report-notice-alert",QE={[ZE]:""},jm=$E(null),ys=()=>wt(jm,"useDailyReportErrorSurface","DailyReportErrorProvider"),Km=Object.freeze([]),zm=({notice:e})=>Ht("div",{role:"alert",...QE,className:"sr-only",children:e===null?null:Ht("span",{children:e.info.message},e.occurrence)}),JE=({notice:e,closeLabel:t,repeatedLabel:r,onDismiss:n})=>{let o=Qr(null),a=Qr(null),s=Qr(null),i=zE(),l=wl(),d=wl(),c=wl(),p=e.repeat>1?`${d} ${c}`:d,u=fs(()=>{let f=o.current;if(f?.contains(f.ownerDocument.activeElement)){let[b,...R]=ms(f.ownerDocument);rr([a.current,b,f.closest("dialog"),...R])}n()},[n]),y=f=>{if(s.current!==null)return;let b=f.relatedTarget;a.current=he(b)&&!f.currentTarget.contains(b)?b:null,s.current=i({id:l,onEscape:R=>nr(R)?(u(),!0):!1})},m=f=>{he(f.relatedTarget)&&f.currentTarget.contains(f.relatedTarget)||(s.current?.(),s.current=null,a.current=null)};return $m(()=>()=>{s.current?.(),s.current=null},[]),Gm("div",{ref:o,role:"group","aria-labelledby":p,"data-testid":"daily-report-error-banner",className:YE,onFocus:y,onBlur:m,children:[Ht("span",{id:d,className:"min-w-0 font-medium",children:Ht(jE,{children:e.info.message},e.occurrence)}),e.repeat>1&&Ht("span",{id:c,className:"shrink-0 font-normal tabular-nums",children:r(e.repeat)}),Ht("button",{type:"button","aria-label":t,"aria-describedby":p,onClick:u,className:XE,children:"\u2715"})]})},xl=({children:e})=>{let{onError:t,labels:r}=$(),[n,o]=Um(null),[a,s]=Um(Km),i=Qr(Km),l=Qr(0),d=Qr(0),c=Qr(t);$m(()=>{c.current=t});let p=fs(E=>{let h=c.current;if(h){h(E);return}d.current+=1;let S=d.current,g=i.current,T=g.length===0?null:g[g.length-1].registration;o(w=>({info:E,occurrence:S,repeat:w!==null&&w.info.message===E.message?w.repeat+1:1,announcedIn:T}))},[]),u=fs(E=>{l.current+=1;let h={element:E,registration:l.current};return i.current=[...i.current,h],s(i.current),()=>{i.current=i.current.filter(S=>S!==h),s(i.current)}},[]),y=fs(()=>o(null),[]),m=GE(()=>({notifyError:p,registerNoticeHost:u}),[p,u]),f=a.at(-1),b=n===null?null:Ht(JE,{notice:n,closeLabel:r.close,repeatedLabel:r.noticeRepeated,onDismiss:y}),R=E=>n!==null&&n.announcedIn===E?n:null;return Gm(jm.Provider,{value:m,children:[e,Ht(zm,{notice:R(null)}),a.map(E=>Wm(Ht(zm,{notice:R(E.registration)}),E.element,String(E.registration))),b!==null&&f!==void 0&&Wm(b,f.element),b!==null&&f===void 0&&Ht("div",{"data-daily-report-notice-slot":"",className:qE,children:b})]})};import{jsx as vl,jsxs as tT}from"react/jsx-runtime";var hs=ft(void 0,1,"ActionProvider"),bs=globalThis.__DailyReportActionsContext??Zm(null);globalThis.__DailyReportActionsContext=bs;var Ss=globalThis.__DailyReportActionStateContext??Zm(null);globalThis.__DailyReportActionStateContext=Ss;var Rs="DailyReportActionProvider",ze=()=>wt(bs,"useDailyReportActions",Rs),gs=()=>wt(Ss,"useDailyReportActionState",Rs),eT=()=>{let e=wt(bs,"useDailyReportActionContext",Rs),t=wt(Ss,"useDailyReportActionContext",Rs);return Cl(()=>({...e,...t}),[e,t])},_l=({children:e,user:t,userId:r})=>{let{apiBasePath:n,labels:o}=$(),{notifyError:a}=ys(),[s,i]=Bt(0),[{ledgers:l,write:d}]=Bt(()=>bm(()=>i(Y=>Y+1))),[c,p]=Bt(0),[u,y]=Bt(0),[m]=Bt(vm),[f,b]=Bt(!1),[R,E]=Bt(xm),h=Il(!1),S=Be(Rm),g=Il(ym),T=Be(hm),[w]=Bt(()=>mm(()=>performance.now())),[C]=Bt(()=>Tm(()=>performance.now())),H=um(),[U,B]=$p(H,H.settled,g.current),A=U.items,v=`${c}:${U.settled?U.revision:"-"}`,I=()=>{p(Y=>Y+1)},L=()=>{i(Y=>Y+1)},M=Ym(Y=>T.current.has(Y),[T]),O=Ym(()=>rm()===(r??null),[r]),D=async()=>{hs.info("Refetching data without page reload..."),go(),L(),Z.listeners.forEach(Y=>{Y(-1)})},V=async()=>{hs.info("Clearing client & server/DB cache and refetching data without page reload..."),so(),g.current=new Set,T.current.clear(),y(Y=>Y+1),B(Gp);try{sessionStorage.clear()}catch{}try{let Y=await fetch(`${n}/${Fe.action}`,{method:"POST",body:Ga({intent:"clearCache"})});if(!Y.ok){let Ae=await Y.json().catch(()=>null);hs.warn("Failed to clear server-side cache:",Y.status,Ae)}}catch(Y){hs.warn("Failed to clear server-side cache:",Y)}O()&&(go({forceRefresh:!0}),L(),Z.listeners.forEach(Y=>{Y(-1)}))};Xm(()=>()=>{for(let Y of C.drain())Y.unsubscribe()},[C]);let F=()=>{r&&(h.current=!0,b(Y=>!Y))};qm(()=>{if(!r)return;let Y=setTimeout(()=>{h.current||b(!0)},wu);return()=>clearTimeout(Y)},[r]);let z=Y=>{O()&&(g.current=In(g.current,Y),T.current.add(Y),y(Ae=>Ae+1),wn(Y),B(Ae=>qr(Ae,Y)),m.discard(Y))};qm(()=>{if(!U.settled)return;let Y=new Set;for(let Ae of g.current)em(Ae)&&Y.add(Ae);Y.size!==g.current.size&&(g.current=Y)},[U.settled,U.revision]);let j={user:t,userId:r,labels:o,apiBasePath:n,items:A,isSessionStillOurs:O,ownEchoIds:w,ledgers:l,writeLedgers:d,pendingSseQueue:C,pendingAddPromises:S,removedIds:g,searchRemovedIds:T,setRemovedVersion:y,setRows:B,drafts:m,invalidateSearch:I,announceDataChange:L,replay:Y=>De.current.handleSseMessage(Y),notifyError:Y=>De.current.notifyError(Y)},Q=Am(j),Ce=gm(j),Ee={toggleSse:F,...Ce,removeStaleItem:z,refetchData:D,clearCacheAndRefetch:V,handleSseMessage:Q,notifyError:a},De=Il(Ee);Xm(()=>{De.current=Ee});let[Ge]=Bt(()=>Sm(De)),Je=Cl(()=>({...l,...Ge.functions,user:t}),[l,Ge,t]),nt=Cl(()=>({version:s,items:A,isSseEnabled:f,sseStatus:R,searchInvalidation:v,isReportRemoved:M,removedVersion:u}),[s,A,f,R,v,M,u]);return vl(Al.Provider,{value:m,children:vl(bs.Provider,{value:Je,children:tT(Ss.Provider,{value:nt,children:[vl(Tl,{isSseEnabled:f,onMessage:Ge.onSseMessage,onStatus:E}),e]})})})};var Qm=(e,t)=>e.split(t).length-1,Jm=(e,t,r)=>{let n=e("\uE000","\uE001");if(Qm(n,"\uE000")!==1||Qm(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((c,p)=>c.at-p.at);let i=[],l=0;for(let{at:c,part:p}of s)c>l&&i.push({kind:"text",text:n.slice(l,c)}),i.push(p),l=c+1;return l<n.length&&i.push({kind:"text",text:n.slice(l)}),i.map(c=>c.kind==="text"?c.text:c.kind==="name"?t:r).join("")===e(t,r)?i:null};import{useContext as mT,useEffect as fT,useId as yT,useLayoutEffect as sf,useMemo as Ml}from"react";import{createContext as nf,createElement as sT,useCallback as rf,useContext as of,useDeferredValue as iT,useLayoutEffect as lT,useMemo as Ol,useSyncExternalStore as dT}from"react";var ef=Object.freeze({subject:"subject",content:"content",author:"author",employeeName:"author",updatedBy:"updatedBy",category:"category",creationCategory:"creationCategory",customerName:"customer",interviewer:"interviewers",attachment:"attachments",comment:"comments"}),rT=e=>Object.hasOwn(ef,e),nT=e=>{let t=e.indexOf(":"),r=t===-1?e:e.slice(0,t);if(!(Tn(e)&&rT(r)))throw new Error(`[daily-report] A search mark leaf carries an unknown field key: ${e}`);return ef[r]},oT=Object.freeze([]),Nl=(e,t)=>e.map(({heading:r,matchedBy:n})=>n==="reading"?t.searchFieldMatchedByReading(t[r]):t.searchFieldMatched(t[r])).join(" "),Ll=e=>e.words>0||e.dense>0?"word":e.readings>0?"reading":null,aT=(e,t)=>e.length===t.length&&e.every((r,n)=>r.heading===t[n].heading&&r.matchedBy===t[n].matchedBy),tf=()=>{let e=new Map,t=new Map,r=new Set,n=null,o=0,a=0,s=oT,i=!1,l=Object.freeze({entry:n,isCurrent:!0,count:o,fields:s}),d=!1,c=l,p=!1,u=h=>!h.isCurrent||h.entry!==n,y=()=>{let h=[];for(let[S,g]of t){let T=Ll(g);T!==null&&h.push(Object.freeze({heading:S,matchedBy:T}))}return Object.freeze(h)},m=()=>{if(!d)return l;d=!1;let h=a===0;if(i){i=!1;let S=y();aT(S,s)||(s=S)}return l.entry===n&&l.isCurrent===h&&l.count===o&&l.fields===s||(l=Object.freeze({entry:n,isCurrent:h,count:o,fields:s})),l},f=()=>{p=!1;let h=m();if(h!==c){c=h;for(let S of[...r])S()}},b=()=>{d=!0,!p&&(p=!0,queueMicrotask(f))},R=h=>{let S=t.get(h);if(S!==void 0)return S;let g={leaves:0,words:0,readings:0,dense:0};return t.set(h,g),g},E=(h,S)=>{o+=S*(h.words+h.readings),u(h)&&(a+=S);let g=R(h.heading),T=Ll(g);g.leaves+=S,g.words+=S*h.words,g.readings+=S*h.readings,h.dense&&(g.dense+=S),Ll(g)!==T&&(i=!0),g.leaves===0&&t.delete(h.heading)};return{register:(h,S)=>{let g={...S,heading:nT(S.fieldKey)},T=e.get(h);e.set(h,g),E(g,1),T!==void 0&&E(T,-1),b()},unregister:h=>{let S=e.get(h);S!==void 0&&(e.delete(h),E(S,-1),b())},settle:h=>{if(h!==n){n=h,a=0;for(let S of e.values())u(S)&&(a+=1);b()}},subscribe:h=>(r.add(h),()=>{r.delete(h)}),getSnapshot:m}};var bt=nf(null),af=nf(null),Ao=()=>{let e=of(af);if(e===null)throw new Error("[daily-report] A search marks part is drawn outside a row's marks scope (DailyReportSearchMarksScope) while the screen holds a marks store");return e},cT=()=>{},uT=()=>cT,pT=(e,t)=>{let r=rf(i=>e===null?uT():e.subscribe(t,i),[e,t]),n=rf(()=>{let i=e===null?void 0:e.read(t);return i===void 0?null:i},[e,t]),o=dT(r,n,n),a=Ol(()=>e===null||o===null?null:{store:e,entry:o},[e,o]),s=iT(a,a===null?void 0:null);return s!==null&&s.store===e?s.entry:null},Cn=({reportHubId:e,children:t})=>{let r=of(bt),n=pT(r,e),o=Ol(()=>r===null?null:tf(),[r]),a=Ol(()=>r===null||o===null?null:{entry:n,revalidate:(s,i)=>r.revalidate(e,s,i),tally:o,indicator:r.indicator},[r,o,n,e]);return lT(()=>{o!==null&&o.settle(n)},[o,n]),sT(af.Provider,{value:a},t)};import{jsx as df}from"react/jsx-runtime";var hT="data-daily-report-search-mark",RT=Object.freeze({[cn.word]:Object.freeze({attribute:"word",description:null}),[cn.reading]:Object.freeze({attribute:"reading",description:"searchReadingMarkDescription"})}),lf=e=>{if(!to(e))throw new Error(`[daily-report] A search mark carries an unknown tier: ${e}`);return RT[e]},bT=Object.freeze({words:0,readings:0}),ST=e=>{if(e===null)return bT;let t=0;for(let r=2;r<e.length;r+=3)lf(e[r]).attribute==="reading"&&(t+=1);return{words:e.length/3-t,readings:t}},gT=(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=lf(t[a+2]);s>o&&n.push(e.slice(o,s)),n.push(df("mark",{[hT]:l.attribute,"aria-description":l.description===null?void 0:r[l.description],className:Rc,children:e.slice(s,i)},`m${s}`)),o=i}return o<e.length&&n.push(e.slice(o)),n},ET=({fieldKey:e,raw:t,display:r})=>{let{entry:n,revalidate:o,tally:a}=Ao(),{labels:s}=$(),i=yT(),l=typeof t=="string"?t:"",d=Ml(()=>n===null||l.length===0?null:nl(l),[n,l]),c=n===null?void 0:n.fields[e],p=c!==void 0&&d!==null&&c.fingerprint===d?c:null,u=p!==null&&"ranges"in p?p.ranges:null,y=p!==null&&"dense"in p,m=Ml(()=>u===null?null:Cc(r,u),[u,r]),f=Ml(()=>ST(m),[m]),b=d!==null&&p===null,R=l.length===0;return fT(()=>{b&&d!==null&&o(e,d)},[b,o,e,d]),sf(()=>()=>a.unregister(i),[a,i]),sf(()=>{R||n===null?a.unregister(i):a.register(i,{entry:n,isCurrent:!b,fieldKey:e,words:f.words,readings:f.readings,dense:y})},[a,i,R,n,b,e,f,y]),m===null||m.length===0?r.text:gT(r.text,m,s)},se=({fieldKey:e,raw:t,display:r})=>mT(bt)===null?r.text:df(ET,{fieldKey:e,raw:t,display:r});import{jsx as AT}from"react/jsx-runtime";var TT={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},Ar=Object.freeze({2:3,3:4,4:5,5:6}),it=({level:e,...t})=>{let r=TT[e];return AT(r,{...t})};import{memo as Gf,useId as EA,useMemo as TA,useRef as Yf}from"react";var cf=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var kl="tile",wo=cf[kl],DT=2,Do=16,uf=5,pf=wo.maxWidth/DT,wT=uf*(pf+Do)-Do,mf=e=>{let t=Math.min(uf,1+Math.floor((e+Do)/(pf+Do)));return Math.floor((Math.min(e,wT)-(t-1)*Do)/t)},Pl=`round(nearest, 100cqi * ${wo.maxHeight} / ${wo.maxWidth}, 1px)`,ff=Object.freeze({aspectRatio:`${wo.maxWidth} / ${wo.maxHeight}`,height:Pl,contain:"strict"}),xT="--aqdr-lattice-block",yf=Object.freeze({marginBlockEnd:`calc(round(up, ${Pl}, var(${xT})) - ${Pl})`});var IT="download",vT="thumbnail",CT="1",_n=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[IT]:CT})}`;case"thumbnail":return`${n}?${new URLSearchParams({[vT]:r.variant})}`}};import{createContext as _T,useContext as LT}from"react";var Fl=_T(null),Ln=()=>LT(Fl)===!1?-1:void 0,hf=(e,t)=>{let{before:r,after:n}=io(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null},Rf=(e,t,r)=>{if(t===null)return!r&&La(e).length>0;if(!e.contains(t))return!1;let{before:n,within:o,after:a}=io(e,t);return r?n.length>0:o.length>0||a.length>0};import{createContext as FT,useContext as HT,useLayoutEffect as BT,useMemo as wf,useState as VT}from"react";import{flushSync as UT}from"react-dom";import{flushSync as NT}from"react-dom";var Hl=new WeakMap,bf=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,Sf=e=>e.overflowWidth!==null&&e.overflowWidth!==e.handedOverflowWidth,OT=(e,t)=>{for(let r=t.parentElement;r!==null;r=r.parentElement){let n=e.observations.get(r);if(n!==void 0)return n}return null},gf=(e,t,r)=>{let n=OT(e,t);return n===null||n.handedTrackWidth===null||r<=n.handedTrackWidth?null:{track:n,trackWidth:n.handedTrackWidth}},MT=e=>{e.frame=null;let t=new Map;for(let r of e.observations.values())bf(r)&&t.set(r,r.observedTrackWidth);for(let[r,n]of e.fittedNames){if(!Sf(n))continue;let o=n.overflowWidth;n.handedOverflowWidth=o;let a=gf(e,r,o);a===null||t.has(a.track)||t.set(a.track,a.trackWidth)}t.size!==0&&NT(()=>{for(let[r,n]of t)r.handedTrackWidth=n,r.onTrackWidth(n)})},PT=(e,t)=>{for(let r of t){let n=r.contentBoxSize[0].inlineSize;if(n===0)continue;let o=e.observations.get(r.target);if(o!==void 0){o.observedTrackWidth=o.trackWidthOf(n);continue}let a=e.fittedNames.get(r.target);if(a!==void 0){if(gf(e,r.target,n)!==null){a.overflowWidth=n;continue}a.overflowWidth=null,a.handedOverflowWidth=null}}e.frame!==null||!([...e.observations.values()].some(bf)||[...e.fittedNames.values()].some(Sf))||(e.frame=e.view.requestAnimationFrame(()=>MT(e)))},kT=e=>{let t=Hl.get(e);if(t!==void 0)return t;let r=e.defaultView;if(r===null)throw new Error("[daily-report] An attachment name track must belong to a document with a window to be measured");let n={view:r,observer:new r.ResizeObserver(o=>PT(n,o)),observations:new Map,fittedNames:new Map,frame:null};return Hl.set(e,n),n},Ef=(e,t)=>{let r=kT(e.ownerDocument);if(r.observations.has(e)||r.fittedNames.has(e))throw new Error(t);return r},Tf=(e,t)=>{e.observer.unobserve(t),!(e.observations.size>0||e.fittedNames.size>0)&&(e.frame!==null&&e.view.cancelAnimationFrame(e.frame),e.observer.disconnect(),Hl.delete(e.view.document))},Af=(e,t,r)=>{let n=Ef(e,"[daily-report] An attachment name track is already observed"),o={trackWidthOf:t,onTrackWidth:r,observedTrackWidth:null,handedTrackWidth:null};return n.observations.set(e,o),n.observer.observe(e),()=>{n.observations.get(e)===o&&(n.observations.delete(e),Tf(n,e))}},Df=e=>{let t=Ef(e,"[daily-report] A fitted attachment file name is already observed"),r={overflowWidth:null,handedOverflowWidth:null};return t.fittedNames.set(e,r),t.observer.observe(e),()=>{t.fittedNames.get(e)===r&&(t.fittedNames.delete(e),Tf(t,e))}};import{jsx as Vt,jsxs as Cf}from"react/jsx-runtime";var Ul="\u2026",WT=Ul.codePointAt(0),xf=Object.freeze({text:Ul,runs:Object.freeze([])}),Es="data-attachment-file-name",KT=Ie("block min-w-0"),zT="block w-fit whitespace-nowrap",$T=new Set([" ","\xA0","\u1361","\u{10100}","\u{10101}","\u{1039F}","\u{1091F}"," ",`
|
|
5
|
+
`,"\f","\r"]),jT=/^-?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?px$/,Wl=({fileName:e})=>Vt("span",{className:$t,children:e}),GT=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,YT=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,Kl=FT(null),_f=e=>{let t=e.text.lastIndexOf(".");return t<=0||t===e.text.length-1?{stem:e,extension:pt("")}:{stem:Gn(e,0,t),extension:Gn(e,t,e.text.length)}},Bl=(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 Gn(e,0,o.slice(0,a).join("").length)},qT=(e,t,r)=>{if(r(e)<=t)return pt(e);let{stem:n,extension:o}=_f(vc(e)),a=t/2,s=r(o.text)<=a?o:ln([Bl(o,Ul,a,r),xf]);if(r(n.text+s.text)<=t)return ln([n,s]);let i=ln([xf,s]);return r(i.text)>t?Bl(i,"",t,r):ln([Bl(n,i.text,t,r),i])},If=new WeakMap,Lf=e=>{let t=If.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 If.set(e,n),n},Nf=(e,t,r)=>`${e}|${t}|${r}`,XT=(e,t,r,n)=>{let o=Nf(t,r,n),a=e.measures.get(o);if(a!==void 0)return a;let s=i=>{e.font!==t&&(e.context.font=t,e.font=t);let l=0;for(let d of i)l+=$T.has(d)?r+n:r;return e.context.measureText(i).width+l};return e.measures.set(o,s),s},Of=e=>{let t=new Set;for(let r of e.matchAll(GT)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},vf=e=>e==="normal"?0:jT.test(e)?Math.max(Number.parseFloat(e),0):null,ZT=e=>{let t=getComputedStyle(e),r=vf(t.letterSpacing),n=vf(t.wordSpacing);if(r===null||n===null)return null;let o=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:o,letterSpacing:r,wordSpacing:n,families:Of(t.fontFamily),measure:XT(Lf(e.ownerDocument),o,r,n)}},QT=(e,t)=>e===t||e!==null&&t!==null&&e.width===t.width&&e.measure===t.measure,JT=e=>{let t=new Set([WT]);for(let r of e.querySelectorAll(`[${Es}]`)){let n=r.getAttribute(Es);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},eA=(e,t)=>{for(let r of e.split(",")){let n=YT.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},Vl=new WeakMap,Mf=e=>{let t=Vl.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return Vl.set(e,r),r},Pf=(e,t)=>{let r=ZT(e.container.querySelector(`[${Es}]`));if(r===null){e.fitted=null,e.applyFit(null);return}e.fitted={trackWidth:t,nameFont:r};let n=Mf(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=rA(n)),e.applyFit({width:t,measure:r.measure})},tA=(e,t)=>{let r=t.map(o=>({families:Of(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(d=>a.nameFont.families.has(d)));if(s.length===0)continue;let i=JT(o.container);s.some(l=>eA(l.unicodeRange,i))&&(Lf(e.document).measures.delete(Nf(a.nameFont.font,a.nameFont.letterSpacing,a.nameFont.wordSpacing)),n.push([o,a.trackWidth]))}n.length!==0&&UT(()=>{for(let[o,a]of n)Pf(o,a)})},rA=e=>{let t=e.document.fonts,r=n=>{tA(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},nA=(e,t,r)=>{let n={container:e,applyFit:r,fitted:null},o=Af(e,t,s=>Pf(n,s)),a=Mf(e.ownerDocument);return a.registrations.add(n),()=>{o(),a.registrations.delete(n),!(a.registrations.size>0)&&(a.stopWatchingFonts?.(),Vl.delete(a.document))}},kf=(e,t)=>{let[r,n]=VT(null);return BT(()=>{let o=e.current;return nA(o,t,s=>{n(i=>QT(i,s)?i:s)})},[e,t]),r},Ff=({containerRef:e,children:t})=>{let r=kf(e,mf);return Vt(Kl,{value:r,children:t})},oA=e=>e,Hf=({containerRef:e,children:t})=>{let r=kf(e,oA);return Vt(Kl,{value:r,children:t})},xo=({fileName:e,attachmentIndex:t,className:r,testId:n})=>{let o=HT(Kl),a=wf(()=>o===null?null:qT(e,o.width,o.measure),[e,o]),{stem:s,extension:i}=wf(()=>_f(pt(e)),[e]),l=le.attachment(t);return Cf("span",{className:KT(r),title:e,"data-testid":n,[Es]:e,children:[a===null?Cf("span",{"aria-hidden":"true",className:"flex min-w-0",children:[Vt("span",{className:"truncate",children:Vt(se,{fieldKey:l,raw:e,display:s})}),i.text!==""&&Vt("span",{className:"max-w-1/2 shrink-0 truncate",children:Vt(se,{fieldKey:l,raw:e,display:i})})]}):Vt("span",{ref:Df,"aria-hidden":"true",className:zT,children:Vt(se,{fieldKey:l,raw:e,display:a})}),Vt(Wl,{fileName:e})]})};import dA from"lucide-react/dist/esm/icons/image-off.js";import{memo as cA,useCallback as jl,useEffect as uA,useLayoutEffect as pA,useRef as Gl,useState as mA}from"react";var Ts=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),Bf=Ts.queueWaitMs+Ts.readMs+Ts.renderMs+Ts.transferMarginMs;var aA=Object.freeze({kind:"loaded"}),Vf=(e,t,r,n,o)=>{let{limiter:a,tuning:s}=n,i="watching",l=null,d=null,c=null,p=null,u=null,y=v=>(v!==null&&n.clearTimeout(v),null),m=()=>{p?.(),p=null},f=()=>{u?.(),u=null},b=v=>v===null||v.kind==="loaded"?0:v.kind==="failing"?v.failedAttempts:s.maxAttempts,R=v=>{i="cooling",c=n.setTimeout(H,v)},E=()=>{o.abortInFlight(),f();let v=b(r.get(t))+1;if(v>=s.maxAttempts){i="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:v,retryAt:n.now()+s.retryDelayMs}),o.reset(),R(s.retryDelayMs)},h=v=>{if(i==="loading"){if(d=y(d),!v){E();return}i="done",r.set(t,aA),f()}},S=()=>{d=null,h(!1)},g=()=>{i="loading",o.showActivity(!0),m(),d=n.setTimeout(S,s.loadTimeoutMs),o.grant()},T=()=>{l=null,i="queued",u=a.request(g)},w=()=>{l===null&&(l=n.setTimeout(T,s.settleMs))},C=v=>{if(o.showActivity(v),v){i==="watching"&&w();return}if(i==="queued"){f(),i="watching";return}l=y(l)},H=()=>{c=null,i="watching",o.showActivity(!1),p=n.observe(e,C)},U=()=>{let v=i==="loading";i="done",m(),l=y(l),d=y(d),c=y(c),o.showActivity(!1),v&&(o.abortInFlight(),u!==null&&o.reset()),f()},B=r.get(t);if(B?.kind==="loaded")return i=o.shows()?"done":"loading",o.grant(),{settle:h,dispose:U};if(B?.kind==="exhausted"){if(n.now()-B.failedAt<s.failureMemoryMs)return i="done",o.exhausted(),{settle:h,dispose:U};r.delete(t)}o.reset();let A=B?.kind==="failing"?B.retryAt-n.now():0;return A>0?R(A):H(),{settle:h,dispose:U}};var sA=e=>{Xe("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())}}}},Uf=sA(2);var iA=e=>{Xe("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)}}},zl=iA(1024);var $l=new WeakMap,lA=e=>{let t=$l.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 $l.set(e,a),a},Wf=(e,t)=>{let r=e.ownerDocument,n=lA(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(),$l.delete(r)))}};import{jsx as Io,jsxs as gA}from"react/jsx-runtime";var fA={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},yA="data-thumbnail-active",hA="data-daily-report-attachment-preview",zf={[hA]:""},RA=Object.freeze({settleMs:250,loadTimeoutMs:Bf,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),Kf=e=>{let t=zl.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},bA=()=>({limiter:Uf,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:Wf,tuning:RA}),SA=(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(yA,o)}}),$f=cA(({thumbnailUrl:e,unavailableLabel:t})=>{let r=Gl(null),n=Gl(null),o=Gl(null),[a,s]=mA(()=>Kf(e));a.url!==e&&s(Kf(e)),pA(()=>{if(a.status==="failed")return;let c=n.current,p=a.status==="idle"?null:a.url;c.getAttribute("src")!==p&&(p===null?c.removeAttribute("src"):c.setAttribute("src",p))},[a]),uA(()=>{let c=r.current,p=Vf(c,e,zl,bA(),SA(e,c,s,n));return o.current=p,()=>{o.current=null,p.dispose()}},[e]);let i=jl(c=>{c!==null&&(n.current=c)},[]),l=jl(()=>{s(c=>c.status==="granted"?{url:c.url,status:"loaded"}:c),o.current?.settle(!0)},[]),d=jl(()=>{o.current?.settle(!1)},[]);return Io("span",{className:"block",children:Io("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":fA[a.status],style:ff,className:"relative block w-full",children:Io("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"?gA("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 ${Yt}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[Io(dA,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):Io("img",{ref:i,alt:"",decoding:"async",fetchPriority:"low",draggable:!1,onLoad:l,onError:d,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 Te,jsxs as Ut}from"react/jsx-runtime";var jf=1024,Yl=["B","KB","MB","GB"],qf="text-slate-500 text-sm line-through dark:text-slate-400",AA="relative truncate",DA=Ie(AA),wA=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),xA=x("flex min-w-0 flex-col gap-2 rounded-lg",ee),IA=x("flex min-w-0 rounded-sm",ee),vA=x("m-0",Mr),CA=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=jf&&r<Yl.length-1;)t/=jf,r+=1;return r===0?`${t} ${Yl[r]}`:`${t.toFixed(1)} ${Yl[r]}`},_A=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}},Xf=({attachment:e,labels:t,className:r})=>Ut("span",{className:DA(r),children:[CA(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),ql=({href:e,children:t,...r})=>{let n=Ln();return Te("a",{href:e,...r,tabIndex:n,children:t})},Zf=({downloadUrl:e,label:t,fileName:r})=>Ut(ql,{href:e,className:wA,"data-testid":"daily-report-attachment-download",children:[t," ",Te(Wl,{fileName:r})]}),LA=Gf(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=Te($f,{thumbnailUrl:_n(r,e.id,{kind:"thumbnail",variant:kl}),unavailableLabel:n.attachmentThumbnailUnavailable}),a=e.state==="absent";return Ut("li",{className:"@container flex min-w-0 flex-col gap-1","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[a?Ut("div",{className:"flex min-w-0 flex-col gap-2",children:[o,Te(xo,{fileName:e.fileName,attachmentIndex:t,className:qf,testId:"daily-report-attachment-name"})]}):Ut(ql,{href:_n(r,e.id,{kind:"inline"}),className:xA,"data-testid":"daily-report-attachment-link",...zf,children:[o,Te(xo,{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"})]}),Ut("div",{className:"flex h-4 min-w-0 items-center gap-2 text-slate-500 text-xs tabular-nums dark:text-slate-400",style:yf,children:[Te(Xf,{attachment:e,labels:n}),!a&&Te(Zf,{downloadUrl:_n(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})]})}),NA=Gf(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=e.state==="absent",a=Yf(null);return Ut("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:[Te(Hf,{containerRef:a,children:Te("div",{ref:a,className:"flex min-w-0 flex-1","data-testid":"daily-report-attachment-name-track",children:Ut("div",{className:"flex min-w-0 flex-col",children:[o?Te(xo,{fileName:e.fileName,attachmentIndex:t,className:qf,testId:"daily-report-attachment-name"}):Te(ql,{href:_n(r,e.id,{kind:"inline"}),className:IA,"data-testid":"daily-report-attachment-link",children:Te(xo,{fileName:e.fileName,attachmentIndex:t,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),Te(Xf,{attachment:e,labels:n,className:"text-slate-500 text-xs tabular-nums dark:text-slate-400"})]})})}),!o&&Te(Zf,{downloadUrl:_n(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})}),OA=({entries:e,headingId:t,apiBasePath:r,labels:n})=>{let o=Yf(null);return Te(Ff,{containerRef:o,children:Te("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:Te("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})=>Te(LA,{attachment:a,attachmentIndex:s,apiBasePath:r,labels:n},a.id))})})})},As=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=$(),o=EA(),{tiles:a,rows:s}=TA(()=>_A(e),[e]);return e.length===0?null:Ut("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[Te(it,{level:Ar[n],id:o,className:vA,children:r.attachments}),Ut("div",{className:"flex flex-col gap-4",children:[a.length>0&&Te(OA,{entries:a,headingId:o,apiBasePath:t,labels:r}),s.length>0&&Te("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:s.map(({attachment:i,index:l})=>Te(NA,{attachment:i,attachmentIndex:l,apiBasePath:t,labels:r},i.id))})]})]})};import{useOverlayEscapeStack as ZA}from"@aiquants/swipe-overlay";import{memo as oy,useCallback as Is,useEffect as ey,useId as ay,useLayoutEffect as QA,useRef as Jl,useState as JA}from"react";import{useCallback as Qf,useMemo as MA,useState as PA}from"react";var kA=()=>[],Xl=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:s,deleteComment:i}=ze(),{version:l}=gs(),{labels:d}=$(),c=d.unknownUser,[p,u]=PA(null),y=Qf(R=>e&&i(e.reportHubId,R,e.date),[e,i]),m=Qf(R=>e&&t?s(e.reportHubId,R,e.date):Promise.resolve(),[e,t,s]),f=Be(kA);return{uiComments:MA(()=>{if(!e)return[];let R=Op(e.externalComments,e.postedComments,r,c),E=o.current.get(e.reportHubId);E?.size&&(R=R.filter(S=>!E.has(S.id)));let h=n.current.get(e.reportHubId);if(h?.size&&t){let S=new Set(R.map(C=>C.id)),g=tr(t,""),T=g==="",w=T?c:g;for(let[C,H]of h){if(E?.has(C)||S.has(C))continue;let U=a.current.get(C);U&&S.has(U)||R.some(B=>B.isMine&&B.content===H&&typeof B.id=="number"&&B.id>0)||R.push({id:C,authorName:w,content:H,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1,isAuthorUnknown:T})}}return JSON.stringify(R)===JSON.stringify(f.current)?f.current:(f.current=R,R)},[e,t,r,c,o,n,a,l]),handleAddComment:m,handleDeleteComment:y,pendingDeleteId:p,setPendingDeleteId:u,resolvedIdMap:a.current}};import{Fragment as FA,jsx as HA}from"react/jsx-runtime";var Ue=({render:e})=>{let t=Ln();return HA(FA,{children:e(t)})};import BA from"@heroicons/react/24/outline/TrashIcon.js";import{memo as VA,useId as UA,useMemo as Jf,useRef as WA,useState as KA}from"react";import{jsx as Wt,jsxs as Ds}from"react/jsx-runtime";var Zl="data-comment-id",ws="data-comment-delete-button",xs="data-comment-delete-slot",zA=x(We,ec),$A=Array.from({length:8},(e,t)=>x("relative rounded-xl border border-slate-200 border-solid bg-white p-[11px] dark:border-slate-700 dark:bg-slate-900/70",(t&4)!==0&&"border-blue-200 bg-blue-50 dark:border-blue-800/70 dark:bg-blue-950/40",(t&2)!==0&&"hidden",(t&1)!==0?"z-50":"z-0 hover:z-10")),jA=(e,t,r)=>(e?4:0)+(t?2:0)+(r?1:0),GA=Ie("font-semibold text-xs"),YA="relative flex h-5 items-center",qA=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),XA=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,Ql=VA(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:s,onBeforeHide:i,resolvedIdMap:l})=>{let[d,c]=KA(!1),{labels:p}=$(),u=UA(),y=WA(null),m=XA(e.id,o,l),f=Jf(()=>ke(e.authorName),[e.authorName]),b=Jf(()=>pt(e.content),[e.content]),R=le.comment(e.id,"author"),E=le.comment(e.id,"content"),h=Tn(E),S=e.isMine&&!e.isLegacy,g=!!e.createdAt||S,T=()=>{let C=y.current;C!==null&&i(C),a(null),c(!0),typeof e.id=="number"&&n?.(e.id)},w=C=>{if(!m)return;let H=C.relatedTarget;he(H)&&C.currentTarget.contains(H)||a(null)};return Ds("li",{[Zl]:e.id,"data-deleted":d?"true":void 0,className:$A[jA(e.isMine,d,m)],children:[Ds("div",{className:"mb-1 flex items-center justify-between",children:[Wt("div",{className:GA(Mp(e.color)),children:h&&!e.isAuthorUnknown?Wt(se,{fieldKey:R,raw:e.authorName,display:f}):f.text}),g&&Ds("div",{className:"flex items-center gap-2",children:[e.createdAt&&Wt("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:Se(e.createdAt)}),S&&Ds("div",{[xs]:e.id,className:YA,onBlur:w,children:[Wt(Ue,{render:C=>Wt("button",{ref:y,type:"button",tabIndex:C,className:zA,title:p.commentDelete,"aria-label":p.commentDelete,"aria-expanded":m,"aria-controls":m?u:void 0,[ws]:e.id,onClick:()=>s(e.id,m),children:Wt(BA,{"aria-hidden":"true",className:m?Pe.deletePending:Pe.delete})})}),m&&Wt(Ue,{render:C=>Wt("button",{id:u,type:"button",tabIndex:C,"data-delete-confirmation":!0,className:qA,onClick:T,children:p.commentDeleteConfirm})})]})]})]}),Wt("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:h?Wt(se,{fieldKey:E,raw:e.content,display:b}):e.content})]})});Ql.displayName="DailyReportPostedComment";import{Fragment as uD,jsx as St,jsxs as ed}from"react/jsx-runtime";var eD="data-daily-report-comment-section",tD="data-daily-report-comment-heading",rD=x(Gt,ee),nD=Ie("flex flex-col gap-2"),sy=(e,t)=>e>0||t,oD=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",jt,ee),aD=x("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",ee),ty=e=>e.querySelector(`[${ws}][aria-expanded="true"]`),sD=(e,t,r)=>{let n=[...e.querySelectorAll(`[${ws}]`)].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(`[${Zl}]`)].filter(i=>!i.contains(t)&&i.closest("[data-deleted]")===null).length;return sy(s,r)?{kind:"heading"}:{kind:"report"}},iD=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:s,canComment:i,headingRef:l,onSectionRemoved:d})=>{let c=Jl(null),p=ZA(),u=ay(),y=o!==null,m=Is(()=>{let R=c.current,E=R===null?null:ty(R),h=E===null?null:E.closest(`[${xs}]`),S=R===null?null:Ve(R);a(null),E!==null&&h!==null&&S!==null&&h.contains(S)&&E.focus({preventScroll:!0})},[a]);ey(()=>{if(y)return p({id:u,onEscape:R=>nr(R)?(m(),!0):!1})},[y,p,u,m]),ey(()=>{let R=c.current;if(!y||R===null)return;let E=R.ownerDocument,h=S=>{let g=ty(R)?.closest(`[${xs}]`);g!=null&&he(S.target)&&g.contains(S.target)||a(null)};return E.addEventListener("pointerdown",h,!0),()=>E.removeEventListener("pointerdown",h,!0)},[y,a]);let f=Is((R,E)=>{E?m():a(R)},[m,a]),b=Is(R=>{let E=c.current;if(E===null)return;let h=sD(E,R,i);if(h.kind==="report"){d();return}let S=h.kind==="trash"?h.button:l.current;if(S===null)throw new Error("[daily-report] the comment section's heading is not attached");S.focus({preventScroll:!0})},[i,l,d]);return e.length===0?null:St("ul",{ref:c,className:"space-y-2",children:e.map(R=>St(Ql,{comment:R,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:f,onBeforeHide:b,resolvedIdMap:s},R.id))})},ry=({headingId:e,className:t,children:r,...n})=>{let{labels:o,headingLevel:a}=$(),s=Jl(null);return sy(n.comments.length,n.canComment)?ed("div",{[eD]:"",className:nD(t),children:[St(it,{ref:s,id:e,level:Ar[a],tabIndex:-1,[tD]:"",className:rD,children:o.comments}),St(iD,{...n,headingRef:s}),r]}):null},iy=oy(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:s,onDeleteComment:i,pendingDeleteId:l,onPendingDeleteIdChange:d,resolvedIdMap:c})=>{let p=ay(),u=t?St(cD,{onAddComment:s,pushedToEnd:n==="after-section",labelledBy:p}):null,y={headingId:p,comments:a,canComment:t,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:i,pendingDeleteId:l,onPendingDeleteIdChange:d,resolvedIdMap:c,onSectionRemoved:r,className:o};return n==="in-section"?St(ry,{...y,children:u}):ed(uD,{children:[St(ry,{...y}),u]})});iy.displayName="ReportCommentsView";var vo=oy(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:s})=>{let{user:i}=ze(),{uiComments:l,handleAddComment:d,handleDeleteComment:c,pendingDeleteId:p,setPendingDeleteId:u,resolvedIdMap:y}=Xl(e,i,t),m=vp(),f=Jl(!1);QA(()=>{f.current&&m(),f.current=!0},[l,p,m]);let b=Is(async R=>{await d(R),n?.()},[d,n]);return St(iy,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:s,comments:l,onAddComment:b,onDeleteComment:c,pendingDeleteId:p,onPendingDeleteIdChange:u,resolvedIdMap:y})});vo.displayName="ReportComments";var lD="flex gap-2",dD="mt-auto flex gap-2",ny="content",cD=({onAddComment:e,pushedToEnd:t,labelledBy:r})=>{let[n,o]=JA(!1),{labels:a}=$();return ed("form",{className:t?dD:lD,onSubmit:async i=>{i.preventDefault();let l=i.currentTarget,d=l.elements.namedItem(ny);if(!(d instanceof Ne(l).HTMLInputElement))return;let c=d.value.trim();if(c&&e){o(!0),l.reset();try{await e(c)}catch{d.value=c}finally{o(!1)}}},children:[St(Ue,{render:i=>St("input",{type:"text",name:ny,tabIndex:i,"aria-labelledby":r,placeholder:a.commentPlaceholder,className:oD,autoComplete:"off"})}),St(Ue,{render:i=>St("button",{type:"submit",tabIndex:i,className:aD,disabled:n,children:a.commentSend})})]})};import{useState as xD}from"react";import{Slot as pD}from"@radix-ui/react-slot";import{cva as mD}from"class-variance-authority";import*as dy from"react";import{jsx as hD}from"react/jsx-runtime";var fD=mD(`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"}}),ly=new Map,yD=(e,t,r)=>{let n=`${String(e)}|${String(t)}`,o=ly.get(n);if(o!==void 0)return o(r);let a=Ie(fD({variant:e,size:t}));return ly.set(n,a),a(r)},or=dy.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>hD(n?pD:"button",{className:yD(t,r,e),ref:a,...o}));or.displayName="Button";import{jsx as SD}from"react/jsx-runtime";var RD=`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 ${jt} ${ee}`,bD=Ie(RD);function cy({className:e,type:t,...r}){return SD("input",{type:t,"data-slot":"input",className:bD(e),...r})}import*as uy from"@radix-ui/react-label";import{jsx as TD}from"react/jsx-runtime";var gD="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",ED=Ie(gD);function Co({className:e,...t}){return TD(uy.Root,{"data-slot":"label",className:ED(e),...t})}import{jsx as wD}from"react/jsx-runtime";var AD=`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 ${jt} ${ee}`,DD=Ie(AD);function py({className:e,...t}){return wD("textarea",{"data-slot":"textarea",className:DD(e),...t})}import{jsx as gt,jsxs as vs}from"react/jsx-runtime";var Nn=e=>({title:e.subject??"",content:e.content??""}),ID=e=>{e.preventDefault()},Cs=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=ze(),{labels:s}=$(),i=Tr(),{title:l,content:d}=_m(e.reportHubId),[c,p]=xD(!1),u=async()=>{p(!0);try{await o(e.reportHubId,{title:l,content:d},e.date)}catch{}finally{p(!1)}},y=async()=>{p(!0);try{await o(e.reportHubId,{title:l,content:d},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{p(!1)}},m=`report-title-${e.reportHubId}`,f=`report-content-${e.reportHubId}`;return vs("form",{className:"space-y-4 p-1",onSubmit:ID,children:[vs("div",{className:"space-y-2",children:[gt(Co,{htmlFor:m,children:s.formTitle}),gt(Ue,{render:b=>gt(cy,{ref:n,id:m,value:l,onChange:R=>i.setInput(e.reportHubId,{title:R.target.value}),placeholder:s.formTitlePlaceholder,disabled:c,tabIndex:b})})]}),vs("div",{className:"space-y-2",children:[gt(Co,{htmlFor:f,children:s.formContent}),gt(Ue,{render:b=>gt(py,{id:f,value:d,onChange:R=>i.setInput(e.reportHubId,{content:R.target.value}),placeholder:s.formContentPlaceholder,className:"min-h-50",disabled:c,tabIndex:b})})]}),vs("div",{className:"flex justify-end gap-2",children:[t&>(Ue,{render:b=>gt(or,{type:"button",variant:"outline",onClick:t,disabled:c,tabIndex:b,children:s.formCancel})}),gt(Ue,{render:b=>gt(or,{type:"button",variant:"secondary",onClick:u,disabled:c,tabIndex:b,children:s.formSave})}),gt(Ue,{render:b=>gt(or,{type:"button",onClick:y,disabled:c,tabIndex:b,children:s.formPublish})})]})]})};import{virtualScrollItemElementId as ow}from"@aiquants/virtualscroll";import{useContext as ks}from"react";import{virtualScrollItemElementId as Cy}from"@aiquants/virtualscroll";import{createContext as GD,useCallback as oe,useContext as YD,useLayoutEffect as xr,useMemo as _y,useRef as sr,useState as _o,useSyncExternalStore as Py}from"react";import{flushSync as id}from"react-dom";var vD=e=>{if(e.length<2)return null;let t=e.slice(1).map((s,i)=>s-e[i]);t.sort((s,i)=>s-i);let r=t.length>>1,n=t.length%2===1?t[r]:(t[r-1]+t[r])/2,o=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(let s=0;s<e.length;s++){let i=e[s]+(e.length-s)*n;o=Math.min(o,i),a=Math.max(a,i)}return o-(a-o)},my=(e,t)=>e.id===t.id&&e.indexHint===t.indexHint,fy=e=>{let t=new Set,r=new Set,n=e,o=null,a=Object.freeze({selected:n,settled:n}),s=null,i=[],l=()=>{let h=o===null?n:o;if(!(my(a.selected,n)&&my(a.settled,h))){a=Object.freeze({selected:n,settled:h});for(let S of[...t])S()}},d=()=>a,c=h=>(t.add(h),()=>{t.delete(h)}),p=h=>{n=h,l()},u=h=>{let S=o!==null;if(o=h,l(),S!==(o!==null)){s=null,i=[];for(let g of[...r])g()}};return{getSnapshot:d,subscribe:c,select:p,hold:h=>u(h),release:()=>u(null),isHeld:()=>o!==null,subscribeHold:h=>(r.add(h),()=>{r.delete(h)}),noteHoldKey:h=>{if(!Number.isFinite(h))throw new Error(`[daily-report] a hold key's timeStamp must be a finite number, got ${h}`);o!==null&&((i.length===0||h>i[i.length-1])&&(i.push(h),i.length>8&&i.shift()),s={count:s===null?1:s.count+1,nextAt:vD(i)})},holdKeys:()=>s}};var ar=e=>({active:e,effect:"none"}),yy=(e,t)=>e!==null&&e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex,td=(e,{items:t,selected:r,range:n})=>{if(n===null)return e===null?r:e;if(yy(e,n))return e;if(yy(r,n))return r;let o=me(t,n.visibleStartIndex);return o===void 0?null:{reportHubId:o.reportHubId,index:n.visibleStartIndex}},hy=(e,t)=>{if(e.length===0)return{active:null,effect:"handBack"};let r=Math.min(Math.max(t,0),e.length-1);return{active:{reportHubId:Ft(e,r).reportHubId,index:r},effect:"handBack"}},rd=(e,t)=>{switch(t.kind){case"key":return ar(t.target);case"activation":case"focusInControl":return ar(t.row);case"focusInComposite":return t.from==="inside"?ar(e):t.pressed!==null?ar(t.pressed):{active:td(e,t.shown),effect:"reveal"};case"focusLeft":return ar(td(e,t.shown));case"rangeChanged":return ar(t.focusWithin&&e!==null?e:td(e,t.shown));case"listChanged":{if(e===null)return ar(null);let r=fe(t.items,e.reportHubId,e.index);return r===-1?hy(t.items,e.index):ar(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?ar(e):hy(t.items,t.selection.index)}};var _s=e=>e.matches(":focus-visible")&&To(e.ownerDocument)!=="pointer";var CD="data-daily-report-keyboard-focus",Dr={capture:!0},Ry=e=>{let t=Lm(e.ownerDocument),r=i=>{e.toggleAttribute(CD,he(i)&&_s(i))},n=i=>r(i.target),o=i=>{he(i.relatedTarget)&&e.contains(i.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,Dr),e.addEventListener("keydown",n,Dr),e.addEventListener("focusout",o,Dr),e.addEventListener("pointerdown",a,Dr);let s=Ve(e);return r(s!==null&&e.contains(s)?s:null),()=>{e.removeEventListener("focusin",n,Dr),e.removeEventListener("keydown",n,Dr),e.removeEventListener("focusout",o,Dr),e.removeEventListener("pointerdown",a,Dr),r(null),t()}};var _D='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',LD='select, input[type="search"], [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',ND=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],OD=ND.map(e=>`[role="${e}"]`).join(", "),MD='[aria-expanded="true"]',PD=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),kD=new Set(["Enter"," "]),FD=new Map([["Home","exitBefore"],["End","exitAfter"]]),od=e=>{if(e.altKey||e.metaKey)return null;if(e.key==="Tab")return e.ctrlKey?null:"tab";if(e.shiftKey)return null;if(e.ctrlKey){let r=FD.get(e.key);return r===void 0?null:r}let t=PD.get(e.key);return t!==void 0?t:kD.has(e.key)?"activate":e.key==="Escape"?"returnToRow":null},nd=(e,t,r,n)=>{let o=e.closest(t);return o!==null&&o!==n&&o!==r&&r.contains(o)},by=(e,{container:t,composite:r})=>{let n=od(e);if(n===null||e.defaultPrevented||Zr(e)||t===null||r===null||!he(e.target)||!t.contains(e.target))return null;let o=e.target;if(o===r)return n==="returnToRow"?null:n;let a=$r(o,t);if(a===null)return null;if(n==="tab")return n;if(n==="activate"||nd(o,OD,t,r))return null;if(n==="returnToRow"){if(nd(o,LD,t,r))return null;let s=o.closest(MD);return s!==null&&a.contains(s)?null:n}return nd(o,_D,t,r)?null:n};var Ls={kind:"stay"},Os=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},Sy=e=>Math.floor(.875*e),wr=(e,t)=>({kind:"move",index:e,align:t}),Ns=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",HD=({index:e,count:t,viewport:r,activeRowTop: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 d=o(l);if(a+=d,a>r)break;i={index:l,top:s},s+=d}return i},BD=({index:e,viewport:t,activeRowTop: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},VD=(e,t,r)=>{let{index:n,count:o,viewport:a,activeRowTop:s,heightOf:i}=t,l=s+i(n);switch(e){case"previous":{if(n===0)return Ls;if(r==="top")return wr(n-1,"top");let d=i(n-1);return wr(n-1,Ns(s-d,d,a,-1))}case"next":return n===o-1?Ls:r==="top"?wr(n+1,"top"):wr(n+1,Ns(l,i(n+1),a,1));case"first":return wr(0,"top");case"last":return wr(o-1,i(o-1)<=a?"bottom":"top");case"pageForward":{if(l>a)return{kind:"reveal",delta:Math.min(l-a,Sy(a))};if(n===o-1)return Ls;let d=HD(t);return wr(d.index,Ns(d.top,i(d.index),a,1))}case"pageBackward":{if(s<0)return{kind:"reveal",delta:-Math.min(-s,Sy(a))};if(n===0)return Ls;let d=BD(t);return wr(d.index,Ns(d.top,i(d.index),a,-1))}}},UD=({index:e,activeRowTop:t,heightOf:r},n)=>Ey(n,{index:e,offsetPx:-t},r),gy=(e,t,r,n)=>{let o=r,a=null,s=0;for(let i=0;i<t;i++){let l=VD(e,o,n);if(l.kind==="stay")break;l.kind==="reveal"?(s+=l.delta,o={...o,activeRowTop:o.activeRowTop-l.delta}):l.align==="none"?o={...o,index:l.index,activeRowTop:UD(o,l.index)}:(a={index:l.index,align:l.align},s=0,o={...o,index:l.index,activeRowTop:l.align==="top"?0:o.viewport-o.heightOf(l.index)})}return{index:o.index,alignment:a,scrollDelta:s}},ad=({index:e,viewport:t,activeRowTop:r,heightOf:n})=>{let o=r+n(e);return r>=0&&o<=t?"whole":r<t&&o>0?"partial":"hidden"},Ey=(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},Ms=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let s=Os(n);if(n.kind==="uniform")return{index:t,count:r,viewport:o,activeRowTop:t*n.rowHeight-a,heightOf:s};let i=e.getScrollAnchor();return i===null?null:{index:t,count:r,viewport:o,activeRowTop:Ey(t,i,s),heightOf:s}},Ps=(e,t,r,n)=>{let o=Os(n),a=e.index,s=o(a)-e.offsetPx;for(;s<t&&a<r-1;)a+=1,s+=o(a);return a},Ty=(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;var Ay=e=>{if(e!==void 0)for(let t of[...e])t()},Dy=({initialSelectedId:e})=>{let t=e,r=null,n=e,o=new Map,a=new Set,s=l=>(l===t?1:0)|(l===n?2:0),i=l=>{l!==null&&Ay(o.get(l))};return{getActiveId:()=>t,getActiveIndexHint:()=>r,getSelectedId:()=>n,setActive:(l,d)=>{if(r=l===null?null:d,l===t)return;let c=t;t=l,i(c),i(l),Ay(a)},settleSelection:l=>{if(l===n)return;let d=n;n=l,i(d),i(l)},rowStateOf:s,subscribe:(l,d)=>{let c=o.get(l);return c===void 0&&(c=new Set,o.set(l,c)),c.add(d),()=>{c.delete(d),c.size===0&&o.get(l)===c&&o.delete(l)}},subscribeActive:l=>(a.add(l),()=>{a.delete(l)})}};var Et={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}},sd=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),WD=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),wy=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),KD=new Map(Object.values(Et).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),xy=e=>{let t=KD.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},zD=(e,t,r)=>e==="row"||e==="page"?t+r:r,Iy=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:xy(e)}),vy=(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",xy(r)):(e.pending=zD(e.axis,e.pending,r.amount),sd)}case"frame":{if(e.fence==="open")return sd;if(e.fence==="immediate")return e.fence="flush",WD;if(e.pending===0)return e.fence="open",sd;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?wy:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return wy}};var ld=GD(null),qD=Object.freeze({kind:"frame"}),Ly={capture:!0},XD=()=>{},Ny=(e,t,r)=>{let n=e.ownerDocument,o=n.defaultView;if(o===null)return XD;let a=!0,s=()=>{a&&(a=!1,i.disconnect(),n.removeEventListener("focusin",s,Ly))},i=new o.MutationObserver(()=>{e.isConnected||(s(),r())});return i.observe(t,{childList:!0,subtree:!0}),n.addEventListener("focusin",s,Ly),s},ZD=Object.freeze({kind:"keyup"}),QD=Object.freeze({kind:"cancel"}),JD=Object.freeze({previous:Object.freeze({kind:"repeat",step:Et.previous}),next:Object.freeze({kind:"repeat",step:Et.next}),pageBackward:Object.freeze({kind:"repeat",step:Et.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:Et.pageForward}),first:Object.freeze({kind:"repeat",step:Et.first}),last:Object.freeze({kind:"repeat",step:Et.last}),activate:Object.freeze({kind:"repeat",step:Et.activate})}),On={capture:!0},ew=e=>e in Et,tw=(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}},rw=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),Oy=e=>{let t=mo(e),r=gr(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},nw=e=>e==="first"||e==="last",My=(e,t)=>{let r=fe(e,t.reportHubId,t.index);return r===-1?null:{reportHubId:t.reportHubId,index:r}},ky=e=>{let t=YD(ld);if(t===null)throw new Error("[daily-report] useListRowState is called outside a view's rows (no row cursor)");let r=oe(a=>t.subscribe(e,a),[t,e]),n=oe(()=>t.rowStateOf(e),[t,e]),o=Py(r,n,n);return{active:(o&1)!==0,selected:(o&2)!==0}},Fy=(e,t)=>{let r=oe(()=>{let n=e.getActiveId();if(n===null)return null;let o=fe(t,n,e.getActiveIndexHint());return o===-1?null:o},[e,t]);return Py(e.subscribeActive,r,r)},Hy=({items:e,selectedId:t,onSelect:r,onActivate:n,containerRef:o,rootRef:a,gridId:s,handleRef:i,scroller:l,rowSizing:d,arrowAlign:c})=>{let[p]=_o(()=>Dy({initialSelectedId:t})),u=Be(()=>({items:e,onSelect:r,onActivate:n,rowSizing:d,arrowAlign:c})),y=sr(null),m=sr(!1),f=sr(null),b=sr(!1),R=sr(null),E=sr(()=>{}),[h,S]=_o(null),[g,T]=_o(0),w=sr(null),C=sr(e),[H]=_o(()=>fy({id:t,indexHint:null})),[U,B]=_o(0),A=_y(()=>({id:t,indexHint:t===null?null:ip(h,t)}),[t,h]),v=sr(A);xr(()=>{u.current={items:e,onSelect:r,onActivate:n,rowSizing:d,arrowAlign:c},v.current=A},[u,e,r,n,d,c,A]),xr(()=>{H.select(A)},[H,A,g]);let I=oe((_,P)=>{let W=R.current;if(W!==null&&W.items===_&&W.reportHubId===P)return W.index;let q=fe(_,P,W!==null&&W.reportHubId===P?W.index:null);return q!==-1&&(R.current={items:_,reportHubId:P,index:q}),q},[]),L=oe((_,P)=>{R.current={items:u.current.items,reportHubId:_,index:P},S(W=>W!==null&&W.reportHubId===_&&W.index===P?W:{reportHubId:_,index:P}),T(W=>W+1),H.select({id:_,indexHint:P})},[u,H]),M=oe(_=>{let P=p.getActiveId();if(P===null)return null;let W=fe(_,P,p.getActiveIndexHint());return W===-1?null:{reportHubId:P,index:W}},[p]),O=oe(()=>{let _=u.current.items,P=p.getSelectedId(),W=P===null?-1:I(_,P);return{items:_,selected:P===null||W===-1?null:{reportHubId:P,index:W},range:y.current}},[p,u,I]),D=oe(_=>{let P=b.current;b.current=!0;try{_()}finally{b.current=P}},[]),V=oe(_=>{p.setActive(_===null?null:_.reportHubId,_===null?null:_.index)},[p]),F=oe(_=>{let P=i.current;if(P===null)return null;let{items:W,rowSizing:q}=u.current;return Ms(P,_,W.length,q)},[i,u]),z=oe(_=>{let P=F(_);P===null||ad(P)==="whole"||P.activeRowTop<=0&&P.activeRowTop+P.heightOf(_)>=P.viewport||l.toIndex(_,{align:"nearest"})},[F,l]),j=oe((_,P)=>{let W=o.current;if(W===null)return;let q=u.current.items,k=null;if(_===null)k=M(q);else{let re=fe(q,_,p.getActiveId()===_?p.getActiveIndexHint():null);re!==-1&&(k={reportHubId:_,index:re},V(k))}k!==null&&z(k.index);let N=W.ownerDocument,K=N.getElementById(s);if(K===null)return;let J=k===null?null:N.getElementById(Cy(s,k.reportHubId));D(()=>Bm(W,K,J,P))},[o,u,p,s,M,V,z,D]),Q=oe(_=>{let P=rd(M(_.kind==="listChanged"?C.current:u.current.items),_);V(P.active),P.effect==="reveal"&&P.active!==null&&z(P.active.index);let W=o.current;P.effect==="handBack"&&m.current&&W!==null&&Ur(W)&&j(P.active===null?null:P.active.reportHubId,"removal")},[o,u,M,V,z,j]),Ce=oe(()=>{m.current&&(m.current=!1,f.current=null,Q({kind:"focusLeft",shown:O()}))},[Q,O]);xr(()=>{p.settleSelection(t)},[p,t,U]),xr(()=>{t!==null&&I(e,t)},[e,t,I]),xr(()=>{Q({kind:"listChanged",items:e}),C.current=e},[e,Q]),xr(()=>{let _=a.current;if(_!==null)return Ry(_)},[a]),xr(()=>{let _=o.current;if(_===null)return;let P=_.ownerDocument,W=k=>{let N=o.current,K=k.target;if(!(N!==null&&he(K)&&N.contains(K))){f.current=null,Ce();return}let re=k.pointerType==="touch"?null:$r(K,N);f.current=re===null?null:Oy(re)},q=()=>{f.current=null};return P.addEventListener("pointerdown",W,On),P.addEventListener("pointerup",q,On),P.addEventListener("pointercancel",q,On),()=>{P.removeEventListener("pointerdown",W,On),P.removeEventListener("pointerup",q,On),P.removeEventListener("pointercancel",q,On)}},[o,Ce]);let Ee=oe((_,P)=>{Q({kind:"activation",row:{reportHubId:_,index:P}}),L(_,P)},[Q,L]),De=oe(_=>{let P=rd(M(u.current.items),{kind:"removed",reportHubId:_,selection:R.current,items:u.current.items});if(P.effect!=="handBack")return;V(P.active);let W=P.active===null?null:P.active.reportHubId;E.current();let q=o.current,k=q===null?null:Ve(q);if(q!==null&&k!==null&&!Ur(q)&&!q.contains(k)){E.current=Ny(k,k.ownerDocument,()=>j(W,"removal"));return}j(W,"removal")},[o,u,M,V,j]),Ge=oe((_,P,W,q)=>{let{items:k,onSelect:N,rowSizing:K,arrowAlign:J}=u.current,re=i.current;if(N===null||re===null)return;let be=fe(k,W.reportHubId,W.index);if(be===-1)return;let qe=Ms(re,be,k.length,K);if(qe===null)return;let Me=gy(_,P,qe,J),mr=Ft(k,Me.index),zn=Me.index!==be,on=zn||q&&nw(_)&&v.current.id!==mr.reportHubId;id(()=>{zn&&Q({kind:"key",target:{reportHubId:mr.reportHubId,index:Me.index}}),on&&(p.settleSelection(mr.reportHubId),N(mr.reportHubId,Me.index)),Me.alignment!==null&&l.toIndex(Me.alignment.index,{align:Me.alignment.align}),Me.scrollDelta!==0&&l.by(Me.scrollDelta),on&&(L(mr.reportHubId,Me.index),B(jR=>jR+1))})},[p,u,i,l,L,Q]),Je=oe(_=>{let P=fe(u.current.items,_.reportHubId,_.index);P!==-1&&(Ee(_.reportHubId,P),u.current.onActivate(_.reportHubId,P))},[u,Ee]),nt=oe(_=>{let P=M(u.current.items);if(P===null)return;if(_.axis==="activate"){Je(P);return}let W=tw(_.axis,_.amount);Ge(W.command,W.count,P,!1)},[u,M,Je,Ge]),Y=oe(_=>{w.current=null,_.frame!==0&&_.view.cancelAnimationFrame(_.frame),H.release()},[H]),Ae=oe((_,P,W)=>{let{apply:q}=P;q!==null&&(P.flush?id(()=>nt(q)):nt(q)),w.current===_&&(P.ended?Y(_):P.requestFrame&&(_.frame=_.view.requestAnimationFrame(W)))},[nt,Y]),ie=oe((_,P,W)=>{Ae(_,vy(_.state,P),W)},[Ae]),ye=oe(()=>{let _=w.current;_!==null&&(_.frame=0,ie(_,qD,ye))},[ie]),_e=oe(()=>{let _=w.current;_!==null&&ie(_,ZD,ye)},[ie,ye]),Ye=oe(()=>{let _=w.current;_!==null&&ie(_,QD,ye)},[ie,ye]),cr=oe((_,P,W)=>{H.hold(v.current),H.noteHoldKey(W);let{state:q,effects:k}=Iy(Et[_]),N={state:q,view:P,frame:0};w.current=N,Ae(N,k,ye)},[H,Ae,ye]);xr(()=>()=>{E.current();let _=w.current;w.current=null,_!==null&&_.frame!==0&&_.view.cancelAnimationFrame(_.frame)},[]);let _t=oe((_,P,W)=>{let q=M(u.current.items),k=q===null?null:F(q.index);if(q===null||k===null||ad(k)!=="hidden")return;let N=P.ownerDocument.getElementById(Cy(s,q.reportHubId));N===null||!Rf(N,_===P?null:_,W)||id(()=>l.toIndex(q.index,{align:"nearest"}))},[u,s,l,M,F]),At=oe(_=>{let P=w.current,W=P!==null&&_.repeat?od(_):null;if(P!==null&&W!==null&&ew(W)&&Et[W].axis===P.state.axis){_.preventDefault(),H.noteHoldKey(_.timeStamp),ie(P,JD[W],ye);return}let{items:q,onSelect:k,rowSizing:N}=u.current,K=o.current,J=K===null?null:K.ownerDocument.getElementById(s),re=k===null?null:by(vn(_),{container:K,composite:J});if(_e(),re===null||K===null||J===null)return;switch(f.current=null,re){case"exitBefore":case"exitAfter":{let Me=hf(K,re==="exitBefore"?"before":"after");if(Me===null)return;_.preventDefault(),Me.focus();return}case"tab":he(_.target)&&_t(_.target,J,_.shiftKey);return;case"returnToRow":_.preventDefault(),D(()=>J.focus({preventScroll:!0}));return}let be=M(q);if(re==="activate"){if(_.preventDefault(),be===null)return;_.repeat?cr(re,Ne(K),_.timeStamp):Je(be);return}if(be===null)return;let qe=i.current;qe===null||Ms(qe,be.index,q.length,N)===null||(_.preventDefault(),_.repeat?cr(re,Ne(K),_.timeStamp):Ge(re,1,be,!0),_.target!==J&&D(()=>J.focus({preventScroll:!0})))},[u,o,s,i,H,ye,ie,_e,cr,M,_t,Je,Ge,D]),Lt=oe(()=>{_e()},[_e]),ur=oe(_=>{let P=o.current,W=_.target;if(P===null)return;m.current=!0;let q=P.ownerDocument.getElementById(s),k=f.current;if(f.current=null,W===q){let on=b.current||he(_.relatedTarget)&&P.contains(_.relatedTarget)?"inside":"outside";Q(on==="inside"?{kind:"focusInComposite",from:on}:{kind:"focusInComposite",from:on,pressed:k===null?null:My(u.current.items,k),shown:O()});return}let N=$r(W,P),K=N===null?null:Oy(N),J=K===null?null:My(u.current.items,K);if(N===null||J===null||!he(W))return;Q({kind:"focusInControl",row:J}),E.current(),E.current=Ny(W,N,()=>j(null,"removal"));let re=i.current;if(re===null||q===null||!_s(W))return;let be=q.getBoundingClientRect(),qe=N.getBoundingClientRect(),Me=qe.height<=be.height?qe:rw(W.getBoundingClientRect(),zt),mr=Ty(Me,be),zn=re.getViewportSize();mr===0||!(zn>0&&be.height>0)||l.by(mr*zn/be.height)},[o,s,u,i,l,Q,O,j]),pr=oe(_=>{let P=o.current,W=_.relatedTarget,q=he(W)?P?.contains(W)?"view":"outside":"nowhere";q!=="view"&&Ye(),q==="outside"&&Ce()},[o,Ye,Ce]),Dt=oe(_=>{y.current={visibleStartIndex:_.visibleStartIndex,visibleEndIndex:_.visibleEndIndex},Q({kind:"rangeChanged",focusWithin:m.current,shown:O()})},[Q,O]),Nr=_y(()=>({onKeyDown:At,onKeyUp:Lt,onPointerDownCapture:Ye,onWheelCapture:Ye,onTouchStartCapture:Ye,onFocus:ur,onBlur:pr}),[At,Lt,Ye,ur,pr]);return{cursor:p,containerProps:Nr,handleRangeChange:Dt,selection:A,selectionStore:H,resolveSelectedIndex:I,rememberSelection:L,activateRow:Ee,focusViewRow:j,focusAfterRemoval:De}};import{jsx as Fs}from"react/jsx-runtime";var ce=(e,t)=>`${e}-${t}`,Hs=e=>ow(xp(),e),aw="data-daily-report-row-shell",Bs=Fs("div",{...ct,[aw]:"",className:"h-full w-full"}),sw=(e,t,r)=>r===Er?e.listRowPositionInUnknownTotal(t+1):e.listRowPosition(t+1,r),Vs=({id:e,whileTotalUnknownOnly:t})=>{let{labels:r}=$(),n=ks(Gr),o=ks(jr);return t&&o!==Er?null:Fs("span",{id:e,hidden:!0,children:sw(r,n,o)})},Us=({reportHubId:e,rowId:t,name:r,className:n,style:o,onMouseDown:a,frameRef:s,children:i})=>{let{active:l,selected:d}=ky(e),c=ks(Gr),p=ks(jr),u=r.kind==="card",y=u?(p===Er?[...r.describedBy,ce(t,"position")]:r.describedBy).join(" "):void 0;return Fs(Fl.Provider,{value:l,children:Fs("div",{ref:s,role:"row",id:t,[Fa]:e,"aria-rowindex":c+1,"aria-posinset":c+1,"aria-setsize":p,"aria-level":1,"aria-selected":d,[zd]:l?"":void 0,"aria-labelledby":u?ce(t,"name"):void 0,"aria-describedby":y,"aria-label":u?void 0:r.label,"aria-busy":!u&&r.isBusy?!0:void 0,className:n,style:o,onMouseDown:a,children:i})})};import ww from"lucide-react/dist/esm/icons/check.js";import xw from"lucide-react/dist/esm/icons/pencil.js";import Iw from"lucide-react/dist/esm/icons/trash-2.js";import{useContext as Uy,useMemo as Wy,useSyncExternalStore as Ky}from"react";import{jsx as Jr,jsxs as Vy}from"react/jsx-runtime";var iw="inline-grid whitespace-nowrap text-xs leading-4 tabular-nums text-slate-600 dark:text-slate-300",By="[grid-area:1/1]",lw=e=>{let t=0;for(let r=e;r!==0;r&=r-1)t+=1;return t},dw=({isEditing:e,descriptionId:t})=>{let{entry:r,tally:n,indicator:o}=Ao(),{labels:a}=$(),s=Ky(n.subscribe,n.getSnapshot,n.getSnapshot),{setCount:i,showsMatchedSets:l}=o,d=l?`${a.searchMatchedKeywords(i,i)} ${a.searchMatchOutsideView}`:a.searchMatchOutsideView,c=r===null||r.matchedSets===null?null:lw(r.matchedSets),p=r!==null&&!e&&(c===null||c>=1)&&s.entry===r&&s.isCurrent&&s.fields.length===0,u=l&&c!==null?a.searchMatchedKeywordsDescription(c,i):null,y=Wy(()=>Nl(s.fields,a),[s.fields,a]),m=[u,y,p?a.searchMatchOutsideViewDescription:null].filter(f=>f!==null&&f.length>0);return Vy("span",{className:iw,"data-daily-report-search-indicator":!0,children:[Jr("span",{"aria-hidden":"true",className:`invisible ${By}`,"data-daily-report-search-indicator-placeholder":!0,children:d}),Vy("span",{className:By,children:[u!==null&&c!==null?Jr("span",{"aria-hidden":"true",title:u,"data-daily-report-search-matched-keywords":`${c}/${i}`,children:a.searchMatchedKeywords(c,i)}):null,u!==null&&p?" ":null,p?Jr("span",{"aria-hidden":"true",title:a.searchMatchOutsideViewDescription,"data-daily-report-search-outside-view":!0,children:a.searchMatchOutsideView}):null,Jr("span",{id:t===null?void 0:t,className:$t,"data-daily-report-search-indicator-description":!0,children:m.join(" ")})]})]})},Ws=({isEditing:e,descriptionId:t})=>Uy(bt)===null?null:Jr(dw,{isEditing:e,descriptionId:t}),cw=({id:e})=>{let{tally:t}=Ao(),{labels:r}=$(),n=Ky(t.subscribe,t.getSnapshot,t.getSnapshot),o=Wy(()=>Nl(n.fields,r),[n.fields,r]);return Jr("span",{id:e,hidden:!0,"data-daily-report-search-match-description":!0,children:o})},zy=({id:e})=>Uy(bt)===null?null:Jr(cw,{id:e});import{jsx as $y}from"react/jsx-runtime";var zs=24,jy=2,uw=20,Ks=5,pw=3,mw=()=>{let e=Math.cos(2*Math.PI/Ks)/Math.cos(Math.PI/Ks),t=Array.from({length:2*Ks},(u,y)=>{let m=-Math.PI/2+y*Math.PI/Ks,f=y%2===0?1:e;return{x:f*Math.cos(m),y:f*Math.sin(m)}}),r=t.map(u=>u.x),n=t.map(u=>u.y),[o,a,s,i]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],l=(uw-jy)/(a-o),d=zs/2-l*(o+a)/2,c=zs/2-l*(s+i)/2,p=u=>String(Number(u.toFixed(pw)));return t.map(u=>`${p(d+l*u.x)},${p(c+l*u.y)}`).join(" ")},fw=mw(),Mn=({filled:e})=>$y("svg",{viewBox:`0 0 ${zs} ${zs}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:jy,strokeLinejoin:"round",className:e?Pe.starOn:Pe.starOff,children:$y("polygon",{points:fw})});import{Fragment as hw,jsx as $s,jsxs as Rw}from"react/jsx-runtime";var yw=Ie(nc),Pn=({config:e,id:t})=>$s("span",{id:t,className:yw(e.badgeClassName),children:e.name===void 0?e.label:Rw(hw,{children:[$s("span",{"aria-hidden":"true",children:$s("abbr",{title:e.name,children:e.label})}),$s("span",{className:$t,children:e.name})]})});import{jsx as Gy}from"react/jsx-runtime";var js=24,bw=6,kn=()=>Gy("svg",{viewBox:`0 0 ${js} ${js}`,"aria-hidden":"true",className:Pe.read,children:Gy("circle",{cx:js/2,cy:js/2,r:bw,fill:"currentColor"})});import{jsx as gw}from"react/jsx-runtime";var Sw=/^(\d{4}-\d{2}-\d{2})(?:T(\d{2}:\d{2}):\d{2})?$/,en=({text:e})=>{let t=Sw.exec(e);if(t===null)return e;let[,r,n]=t;return gw("time",{dateTime:e,children:n===void 0?r:`${r} ${n}`})};import{Fragment as Dw,jsx as Oe,jsxs as dd}from"react/jsx-runtime";var Ew=Ie("m-0"),et=({label:e,classNames:t,valueId:r,children:n})=>dd("div",{className:t.field,children:[Oe("dt",{className:t.label,children:e}),Oe("dd",{id:r,className:Ew(t.value),children:n})]}),Tw="mt-2 font-semibold text-slate-600 text-xs uppercase tracking-wide first:mt-0 dark:text-slate-400",Aw="m-0 mt-1 text-slate-700 text-sm dark:text-slate-200",Ir=({label:e,children:t})=>dd(Dw,{children:[Oe("dt",{className:Tw,children:e}),Oe("dd",{className:Aw,children:t})]}),Yy=({report:e,visitTimeDisplay:t,labels:r})=>{let n=Rr(e.category),o=Rr(e.creationCategory);return dd("dl",{className:"m-0 flex flex-col rounded-xl bg-slate-100 p-3 text-slate-600 text-xs dark:bg-slate-800/60 dark:text-slate-300",children:[Oe(Ir,{label:r.author,children:Oe(se,{fieldKey:le.field("author"),raw:e.author,display:ke(e.author)})}),Oe(Ir,{label:r.createdAt,children:Oe(en,{text:Se(e.createdAt)})}),Oe(Ir,{label:r.updatedBy,children:Oe(se,{fieldKey:le.field("updatedBy"),raw:e.updatedBy,display:ke(e.updatedBy)})}),Oe(Ir,{label:r.updatedAt,children:Oe(en,{text:Se(e.updatedAt)})}),Oe(Ir,{label:r.businessDate,children:Oe(en,{text:Se(e.date)})}),t!==null&&Oe(Ir,{label:r.visitTime,children:t}),n.text.length>0&&Oe(Ir,{label:r.category,children:Oe(se,{fieldKey:le.field("category"),raw:e.category,display:n})}),o.text.length>0&&Oe(Ir,{label:r.creationCategory,children:Oe(se,{fieldKey:le.field("creationCategory"),raw:e.creationCategory,display:o})})]})};import{jsx as de,jsxs as Xy}from"react/jsx-runtime";var Gs={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:""},vw={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:""},qy={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:""},Zy=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:s,editButtonRef:i,onDelete:l,sourceConfig:d,visitTimeDisplay:c,markerIds:p,labels:u})=>{let y=r?u.starRemove:u.starAdd,m=t?u.markUnread:u.markRead,f=Rr(e.category),b=Rr(e.creationCategory);return Xy("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[de(jn,{id:p.attachments,count:e.attachments.length,label:u.attachments}),d?de(Pn,{id:p.source,config:d}):null,de(Ue,{render:R=>de("button",{type:"button",onClick:a,tabIndex:R,className:We,title:y,"aria-label":y,"data-detail-star-button":e.reportHubId,children:de(Mn,{filled:r})})}),de(Ue,{render:R=>de("button",{type:"button",onClick:o,tabIndex:R,className:We,title:m,"aria-label":m,"data-detail-read-button":e.reportHubId,children:t?de(ww,{className:Pe.read}):de(kn,{})})}),s&&de(Ue,{render:R=>de("button",{ref:i,type:"button",onClick:s,tabIndex:R,"data-detail-edit-button":e.reportHubId,className:We,title:u.edit,"aria-label":u.edit,children:de(xw,{className:Pe.edit})})}),n&&de(Ue,{render:R=>de("button",{type:"button",onClick:l,tabIndex:R,"data-detail-delete-button":e.reportHubId,className:We,title:u.deleteReport,"aria-label":u.deleteReport,children:de(Iw,{className:Pe.delete})})}),Xy("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[de(et,{label:u.id,classNames:vw,children:e.reportHubId}),de(et,{label:u.businessDate,classNames:Gs,children:de(en,{text:Se(e.date)})}),de(et,{label:u.author,classNames:Gs,children:de(se,{fieldKey:le.field("employeeName"),raw:e.employeeName,display:ke(e.employeeName)})}),de(et,{label:u.visitTime,classNames:Gs,children:br(c)}),de(et,{label:u.updatedAt,classNames:Gs,children:de(en,{text:Se(e.updatedAt)})}),f.text.length>0&&de(et,{label:u.category,classNames:qy,children:de(se,{fieldKey:le.field("category"),raw:e.category,display:f})}),b.text.length>0&&de(et,{label:u.creationCategory,classNames:qy,children:de(se,{fieldKey:le.field("creationCategory"),raw:e.creationCategory,display:b})})]}),de(Ws,{isEditing:!1,descriptionId:p.searchMatch})]})};import{useLayoutEffect as Qy,useRef as Jy}from"react";import{jsx as Lw}from"react/jsx-runtime";var Cw=x(hr,Yo,qo,Go,"h-full"),_w=(e,t,r)=>{let n=t(e),o=e===null?null:r(e);return{body:e,declareBody:t,observeRowHeight:r,release:()=>{o!==null&&o(),n()}}},eh=({itemId:e,rowId:t,name:r,bodyReady:n,observeRowHeight:o,children:a})=>{let s=Jy(null),i=Ip(e),l=Jy(null);return Qy(()=>{let d=s.current,c=d===null||!n?null:d.firstElementChild,p=c instanceof HTMLElement?c:null,u=l.current;u!==null&&u.body===p&&u.declareBody===i&&u.observeRowHeight===o||(u!==null&&u.release(),l.current=_w(p,i,o))}),Qy(()=>()=>{l.current?.release(),l.current=null},[]),Lw(Us,{reportHubId:e,rowId:t,name:r,className:Cw,frameRef:s,children:n?a:Bs})};import{jsx as X,jsxs as je}from"react/jsx-runtime";var Ow=x("flex w-full flex-col gap-4",Nt,Qo,yr),Mw=x(Nt,yr),Pw=x("rounded-2xl",yr),kw=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",yr),$e="bg-slate-200 dark:bg-slate-700",Fw=x("whitespace-pre-wrap",Zo),Hw=x(Ke,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),Bw=({interviewer:e,index:t,template:r})=>{let n=Lo(()=>ke(e.name),[e.name]),o=X(se,{fieldKey:le.interviewer(t,"name"),raw:e.name,display:n},"name"),a=e.affiliation;if(!a?.trim())return o;let s=Jm(r,n.text,a);return s===null?r(n.text,a):s.map(i=>i.kind==="text"?i.text:i.kind==="name"?o:X(se,{fieldKey:le.interviewer(t,"affiliation"),raw:a,display:pt(a)},"affiliation"))},Vw=e=>({heading:ce(e,"name"),state:ce(e,"state"),attachments:ce(e,"attachments"),source:ce(e,"source"),searchMatch:ce(e,"match")}),Uw=je("div",{...ct,className:Mw,children:[je("div",{className:"mb-4 flex flex-wrap gap-2",children:[X("div",{className:x("h-6 w-20 rounded-full",$e)}),X("div",{className:x("h-6 w-24 rounded-full",$e)}),X("div",{className:x("h-6 w-24 rounded-full",$e)}),X("div",{className:x("h-6 w-28 rounded-full",$e)})]}),je("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[je("div",{className:"space-y-4",children:[X("div",{className:x("h-5 w-40 rounded",$e)}),X("div",{className:x("h-5 w-56 rounded",$e)}),X("div",{className:x("h-24 rounded-xl",$e)})]}),je("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[X("div",{className:x("mb-2 h-4 w-24 rounded",$e)}),X("div",{className:x("mb-2 h-4 w-28 rounded",$e)}),X("div",{className:x("h-4 w-32 rounded",$e)})]})]}),je("div",{className:"space-y-4",children:[X("div",{className:x("h-4 w-24 rounded",$e)}),je("div",{className:"flex flex-wrap gap-2",children:[X("div",{className:x("h-6 w-16 rounded-full",$e)}),X("div",{className:x("h-6 w-16 rounded-full",$e)}),X("div",{className:x("h-6 w-16 rounded-full",$e)})]}),je("div",{className:"space-y-2",children:[X("div",{className:x("h-16 rounded-xl",$e)}),X("div",{className:x("h-16 rounded-xl",$e)})]})]})]}),Ww=()=>Uw,Kw=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n})=>{let{report:o,error:a,isLoading:s,isRefetching:i}=Vr(e.reportHubId,e.businessDate),{bodyReady:l,rendered:d}=Wa(e.reportHubId,o,"measured"),c=Hs(e.reportHubId),p=Fm(),{removeStaleItem:u}=ze(),{sourceTypeConfigs:y}=$(),m=Tr(),f=cs(e.reportHubId),b=f==="editing"||f==="automatic",R=Ys(!1),E=Ys(!1),h=Ys(!1);th(()=>{if(i){h.current=!0;return}!(o||s||a)&&h.current&&e.reportHubId>0&&u(e.reportHubId)},[o,s,i,a,e.reportHubId,u]);let S=o?.isDraft===!0,g=n&&o?.userId===n,T=n&&d?.userId===n,w=Ys(o);rh(()=>{w.current=o});let C=tn(()=>{let F=w.current;F!==null&&(R.current=!0,m.open(e.reportHubId,Nn(F),!1))},[m,e.reportHubId]),H=tn(()=>{E.current=!0,m.dismiss(e.reportHubId)},[m,e.reportHubId]),U=tn(()=>{E.current=!0,m.discard(e.reportHubId)},[m,e.reportHubId]),B=tn(F=>{F===null||!R.current||(R.current=!1,F.focus())},[]),A=tn(F=>{F===null||!E.current||(E.current=!1,F.focus())},[]);rh(()=>{b||(E.current=!1)},[b]),th(()=>{o!==null&&(g&&S&&f==="display"?m.open(e.reportHubId,Nn(o),!0):!S&&f==="automatic"&&m.discard(e.reportHubId))},[o,g,S,f,m,e.reportHubId]);let v=tn(()=>p(e.reportHubId,"removal"),[p,e.reportHubId]),I=d!==null&&d.attachments.length>0,L=Nw(bt)!==null,M=d===null?void 0:Zt(d.sourceType,y),O=d===null&&(s||o!==null),D=Se(e.businessDate),V=l?!a&&d!==null&&!b?{kind:"card",describedBy:[ce(c,"state"),...I?[ce(c,"attachments")]:[],...M!==void 0?[ce(c,"source")]:[],...L?[ce(c,"match")]:[]]}:{kind:"label",label:D,isBusy:!a&&O}:{kind:"label",label:D,isBusy:!0};return X(eh,{itemId:e.reportHubId,rowId:c,name:V,bodyReady:l,observeRowHeight:t,children:a?X(zw,{itemId:e.reportHubId}):d?b?X("div",{...ct,className:Pw,children:X(Cs,{report:d,onCancel:H,onPublishSuccess:U,titleInputRef:B})}):X(ah,{item:e,report:d,sourceConfig:M,rowId:c,onCommentAdded:r,userId:n,onEdit:T?C:void 0,editButtonRef:A,onCommentSectionRemoved:v}):X(Ww,{})})},oh=nh(Kw),ah=nh(({item:e,report:t,sourceConfig:r,rowId:n,onCommentAdded:o,userId:a,onEdit:s,editButtonRef:i,onCommentSectionRemoved:l})=>{let{toggleStar:d,toggleRead:c,pendingStarUpdates:p,pendingReadUpdates:u,deleteReport:y}=ze(),{labels:m,headingLevel:f}=$(),b=Ar[f],R=ya(t.sourceType,r),E=Vw(n),h=tn(()=>o?.(e.reportHubId),[o,e.reportHubId]),S=p.current.get(t.reportHubId),g=S===void 0?t.isStarred:S,T=u.current.get(t.reportHubId),w=T===void 0?t.isRead:T,C=!!(a&&t.userId===a),H=async()=>{try{await c(t.reportHubId,!w,t.date)}catch{}},U=async()=>{try{await d(t.reportHubId,!g,t.date)}catch{}},B=async()=>{if(confirm(m.confirmDelete))try{await y(t.reportHubId,t.date)}catch{}},A=Lo(()=>kc(t.content??null),[t.content]),v=Lo(()=>ke(t.customerName),[t.customerName]),I=Lo(()=>ke(t.subject),[t.subject]),L=Lo(()=>{let M=t.visitTimeFrom?.trim(),O=t.visitTimeTo?.trim();return M&&O?`${M} - ${O}`:M||O||null},[t.visitTimeFrom,t.visitTimeTo]);return X("div",{...ct,"aria-labelledby":E.heading,onDoubleClick:s,className:Ow,children:je(Cn,{reportHubId:e.reportHubId,children:[X(it,{level:f,id:E.heading,tabIndex:-1,...Ba,className:$t,children:`${Se(t.date)} ${br(t.employeeName)} ${br(t.subject)}`}),X("span",{id:E.state,className:$t,children:m.rowState({isRead:w,isStarred:g})}),X(Vs,{id:ce(n,"position"),whileTotalUnknownOnly:!0}),X(Zy,{report:t,sourceConfig:r,isRead:w,isStarred:g,isMine:C,onToggleRead:H,onToggleStar:U,onEdit:s,editButtonRef:i,onDelete:B,visitTimeDisplay:L,markerIds:E,labels:m}),je("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[je("div",{className:"flex flex-col gap-4",children:[je("div",{className:"grid gap-4 sm:grid-cols-2",children:[je("div",{className:"flex flex-col gap-1",children:[X(it,{level:b,className:Gt,children:m.customer}),X("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:X(se,{fieldKey:le.field("customerName"),raw:t.customerName,display:v})})]}),je("div",{className:"flex flex-col gap-1",children:[X(it,{level:b,className:Gt,children:m.subject}),X("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:X(se,{fieldKey:le.field("subject"),raw:t.subject,display:I})})]})]}),A.text.length>0&&je("div",{className:"flex flex-col gap-2",children:[X(it,{level:b,className:Gt,children:m.content}),X("div",{className:Fw,children:X(se,{fieldKey:le.field("content"),raw:t.content,display:A})})]}),t.interviewers.length>0&&je("div",{className:"flex flex-col gap-2",children:[X(it,{level:b,className:Gt,children:m.interviewers}),X("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map((M,O)=>X("li",{className:Hw,children:X(Bw,{interviewer:M,index:O,template:m.interviewerWithAffiliation})},JSON.stringify([M.name,M.affiliation])))})]}),X(As,{attachments:t.attachments}),X(vo,{report:t,userId:a,canComment:R,onCommentAdded:h,onSectionRemoved:l,formPlacement:"after-section"})]}),X(Yy,{report:t,visitTimeDisplay:L,labels:m})]})]})})});ah.displayName="DailyReportResolvedItem";var zw=({itemId:e})=>{let{labels:t}=$();return X("div",{...ct,className:kw,children:X("p",{children:t.reportLoadFailed(e)})})};import{VirtualScroll as tx,virtualScrollItemElementId as rx}from"@aiquants/virtualscroll";import{useCallback as mh,useId as fh,useMemo as pd,useRef as nx,useState as ox}from"react";import{createContext as $w,useContext as jw,useLayoutEffect as Gw}from"react";var sh=()=>{let e=!1;return{request:()=>{e=!0},isPending:()=>e,take:()=>{let t=e;return e=!1,t}}},cd=$w(null),ih=(e,t)=>{let r=jw(cd);Gw(()=>{r===null||!r.isPending()||e.current===null||(r.take(),t(null,"handOver"))})};import{useCallback as lh,useLayoutEffect as dh,useMemo as ch,useRef as ud}from"react";var Yw=(e,t,r,n)=>{for(let o=r;o<=n;o++){let a=me(e,o);if(a===void 0||a.reportHubId!==me(t,o)?.reportHubId)return!0}return!1},qw=(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}},Xw=(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}},Zw=(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"?qw(e.index,a,n.rowHeight,r.length):Xw(e.index,a,Os(n),r.length);return{reportHubId:Ft(r,s).reportHubId,index:s,offsetPx:i,lastVisibleIndex:Ps({index:s,offsetPx:i},o,r.length,n),recordedAt:t}},Qw=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=fe(t,Ft(e,n).reportHubId,n-1);if(o!==-1)return o}return-1},uh=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=ud(null),a=ud(e),s=ud(r),i=lh(()=>{let c=t.current,p=c===null?-1:c.getScrollPosition(),u=c===null||!(p>0)?null:c.getScrollAnchor(),y=a.current,m=u===null?void 0:me(y,u.index),f=c===null?0:c.getViewportSize();o.current=u===null||m===void 0||!(f>0)?null:{reportHubId:m.reportHubId,index:u.index,offsetPx:u.offsetPx,lastVisibleIndex:Ps(u,f,y.length,s.current),recordedAt:p}},[t]),l=ch(()=>({toIndex:(c,p)=>{let u=t.current;u!==null&&(u.scrollToIndex(c,p),i())},by:c=>{let p=t.current;p!==null&&(p.scrollBy(c),i())},resizeRow:(c,p)=>{let u=t.current;u!==null&&(u.updateItemSize(c,p),i())}}),[t,i]);dh(()=>{let c=a.current;a.current=e;let p=o.current,u=t.current;if(c===e||p===null||u===null||n())return;let y=Zw(p,u.getScrollPosition(),c,s.current,u.getViewportSize());if(y===null){o.current=null;return}let m=fe(e,y.reportHubId,y.index),f=m===-1?Qw(c,e,y):m;if(f===-1){o.current=null;return}if(f===y.index&&!Yw(c,e,y.index,y.lastVisibleIndex)){o.current=y;return}u.scrollToIndex(f,{align:"top",offset:-y.offsetPx}),o.current={reportHubId:Ft(e,f).reportHubId,index:f,offsetPx:y.offsetPx,lastVisibleIndex:Ps({index:f,offsetPx:y.offsetPx},u.getViewportSize(),e.length,r),recordedAt:u.getScrollPosition()}},[e,t,r,n]),dh(()=>{s.current=r},[r]);let d=lh(c=>{if(c.cause!=="clamp"){i();return}let p=o.current;p!==null&&(o.current={...p,recordedAt:p.recordedAt+c.delta})},[i]);return ch(()=>({handleRangeChange:i,handleScrollAdjust:d,scroller:l}),[i,d,l])};import{useCallback as Jw}from"react";var ex=20,ph=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>Jw(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=>Rt(o.current,l),getReportItem:l=>me(o.current,l),getReportIds:(l=ex)=>lp(o.current,l),revealIndex:(l,d)=>n.toIndex(l,d)}}}),()=>{s!==null&&delete s.__virtualScroll,t.current=null}},[e,t,r,n,o]);import{jsx as No}from"react/jsx-runtime";var ax=Object.freeze({skipFar:!0}),qs=({containerRef:e,testId:t,itemsRef:r,rowSetSize:n,isViewRevealPending:o,onRangeChange:a,...s})=>{let i=nx(null),l=mh(B=>(i.current=B,()=>{i.current=null}),[]),{labels:d}=$(),c=fh(),{handleRangeChange:p,handleScrollAdjust:u,scroller:y}=uh({items:s.items,handleRef:i,rowSizing:s.rowSizing,isRevealPending:o}),{handleRangeChange:m,...f}=Hy({...s,containerRef:e,handleRef:i,scroller:y,gridId:c}),{cursor:b,selectionStore:R,focusViewRow:E}=f,[h]=ox(()=>wp({gridId:c,isHolding:()=>R.isHeld(),subscribeHold:B=>R.subscribeHold(B),holdKeys:()=>R.holdKeys(),activeIndex:()=>{let B=b.getActiveId(),A=B===null?-1:fe(r.current,B,b.getActiveIndexHint());return A===-1?null:A},indexOf:B=>{let A=e.current,v=A===null?null:A.ownerDocument.getElementById(rx(c,B)),I=v===null?null:gr(v),L=fe(r.current,B,I===null?null:I-1);return L===-1?null:L}})),S=ph({hostTestId:t,scrollContainerRef:e,handleRef:i,scroller:y,itemsRef:r});ih(e,E);let g=fh(),T=s.onSelect!==null,w=mh(B=>{m(B),p(),a(B)},[m,p,a]),C=pd(()=>({role:Qi,id:c,tabIndex:0,"aria-label":d.title,"aria-describedby":T?g:void 0,"aria-rowcount":n}),[c,d.title,T,g,n]),H=pd(()=>T?No("span",{id:g,className:"sr-only",children:d.listKeyboardHelp}):null,[T,g,d.listKeyboardHelp]),U=pd(()=>({cursor:b,rowPass:h,focusViewRow:E}),[b,h,E]);return{...f,handleRangeChange:w,handleScrollAdjust:u,attachVirtualScroll:l,handleRef:i,scroller:y,attachScrollContainer:S,contentProps:C,keyboardHelp:H,rowPass:h,rowScope:U}},Xs=({rowScope:e,items:t,...r})=>{let n=Fy(e.cursor,t);return No(ld.Provider,{value:e.cursor,children:No(Ua.Provider,{value:e.rowPass,children:No(Dl.Provider,{value:e.focusViewRow,children:No(tx,{...r,activeItemIndex:n,activeItemVisibleInset:$d,itemZones:ax})})})})};import{Fragment as px,jsx as Kt,jsxs as ux}from"react/jsx-runtime";var Rh={pointerDragInputs:Aa,wheelSpeedMultiplier:Ra,inertiaOptions:gn(!1),enableKeyboardNavigation:!1},sx={...Rh,inertiaOptions:gn(!0)},hh="daily-report-detail-list",ix=x("relative w-full",aa,oa,sa),lx=x(ut,"relative"),dx=300,fd=e=>{let t=tt(null),[r,n]=Zs(null),o=Na(t),a=En(r),s=He(i=>(t.current=i,n(i),()=>{t.current=null,n(null)}),[]);return Kt("div",{ref:s,className:ta,children:Kt("div",{className:ra,children:o===null?null:Kt(cx,{...e,viewportHeight:o,reducedMotion:a})})})},cx=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:s,reducedMotion:i})=>{let[{initialScrollAnchor:l,restored:d}]=Zs(()=>{let k=a?.current;if(!k||k.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!k.topItem)return{initialScrollAnchor:void 0,restored:!0};let N=Rt(e,k.topItem.reportHubId);return N!==-1?{initialScrollAnchor:{index:N,offsetPx:k.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:k.topItem.index,offsetPx:0},restored:!0}}),c=tt(d),p=tt(n??null),u=Be(()=>a?.current.measuredHeights??new Map),y=tt(null),m=Ca(),f=Vi(),[b]=Zs(Ka),R=tt(null),E=tt(null),h=tt(e),S=tt(o);yh(()=>{h.current=e,S.current=o},[e,o]);let g=tt(null),[T,w]=Zs(0),C=tt(null),H=e.length,U=t===void 0?H:t,B=He(k=>{let N=me(e,k);return N===void 0?Sa:N},[e]),A=He(k=>{let N=u.current.get(B(k).reportHubId);return N===void 0?Cu:N},[u,B]),v=He(k=>ka(e,k),[e]),I=md(()=>({kind:"measured",heightOf:A}),[A]),L=He((k,N)=>{g.current={reportHubId:k,index:N},w(K=>K+1),S.current?.(k)},[]),M=He((k,N)=>{if(H===0)return;let K=Math.max(0,k),J=Math.min(H-1,N);if(K>J)return;let re=new Set;for(let be=K;be<=J;be++){let qe=B(be);if(qe.businessDate&&re.add(qe.businessDate),re.size>=xu)break}re.forEach(be=>{f(be)})},[B,H,f]),O=tt(null),D=He(()=>O.current,[]),V=He(k=>{if(H===0)return;let{renderingStartIndex:N,renderingEndIndex:K,visibleStartIndex:J}=k,re=B(J);re.reportHubId>0&&(O.current=re.reportHubId),re.businessDate&&b.setLabel(Se(re.businessDate)),M(N,K),M(K+1,K+ba),M(N-ba,N-1)},[B,H,M,b]),F=He(()=>C.current!==null,[]),{containerProps:z,handleRangeChange:j,handleScrollAdjust:Q,attachVirtualScroll:Ce,handleRef:Ee,scroller:De,attachScrollContainer:Ge,contentProps:Je,keyboardHelp:nt,resolveSelectedIndex:Y,activateRow:Ae,rowPass:ie,rowScope:ye}=qs({items:e,selectedId:n??null,onSelect:o===void 0?null:L,onActivate:L,containerRef:y,rootRef:y,testId:hh,itemsRef:h,rowSetSize:U,rowSizing:I,arrowAlign:"top",isViewRevealPending:F,onRangeChange:V});$a({items:e,scroller:De,readTopReportId:D});let _e=He((k,N)=>{if(Ee.current===null)return!1;let K=h.current,J=N!==null&&N.reportHubId===k?fe(K,k,N.index):Y(K,k);return J===-1?!1:(c.current&&(c.current=!1,k===p.current)||N!==null&&N.reportHubId===k&&N.index===J||De.toIndex(J,{align:"top"}),!0)},[Ee,Y,De]);vr(()=>{let k=g.current;g.current=null,C.current=null,n!=null&&(_e(n,k)||(C.current=n))},[n,_e]),vr(()=>{let k=C.current;k!==null&&_e(k,null)&&(C.current=null)},[e,_e]),vr(()=>{let k=a?.current;k&&(k.anchorReportHubId=n??null)},[n,a]),vr(()=>{g.current=null},[T]);let Ye=tt(null),cr=He(()=>{Ee.current&&(Ye.current=Ee.current);let k=a?.current,N=Ye.current;if(k&&N){let J=N.getScrollAnchor(),re=J===null?void 0:me(h.current,J.index);J&&re&&(k.topItem={reportHubId:re.reportHubId,index:J.index,offsetPx:J.offsetPx})}let K=y.current;K&&(K.toggleAttribute(an,!0),E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{K.toggleAttribute(an,!1),E.current=null},150))},[Ee,a]),_t=He(k=>Kt(za,{...k,store:b}),[b]);vr(()=>{let k=y.current;if(!k)return;let N=()=>{b.setWheelScrollActive(!0),R.current&&clearTimeout(R.current),R.current=window.setTimeout(()=>{b.setWheelScrollActive(!1),R.current=null},ga)};return k.addEventListener("wheel",N,{passive:!0}),()=>{k.removeEventListener("wheel",N),R.current&&clearTimeout(R.current)}},[b]);let At=tt(null),Lt=He(k=>{for(let N of k){ie.measured(N.target);let K=N.target.parentElement,J=K===null?null:mo(K),re=K===null?null:gr(K),be=N.borderBoxSize[0];if(J===null||re===null||be===void 0)continue;let qe=be.blockSize+2*zt;if(u.current.get(J)===qe)continue;let Me=fe(h.current,J,re-1);Me!==-1&&(u.current.set(J,qe),De.resizeRow(Me,qe))}},[u,De,ie]),ur=He(k=>{At.current===null&&(At.current=new ResizeObserver(Lt));let N=At.current;return N.observe(k),()=>N.unobserve(k)},[Lt]),pr=He(k=>{At.current?.observe(k)},[]);vr(()=>()=>{At.current?.disconnect(),At.current=null},[]),yh(()=>{let k=y.current;if(k!==null)return ie.attach(Ne(k),pr)},[ie,pr]),vr(()=>{H!==0&&M(0,Math.min(H-1,ba))},[H,M]);let Dt=tt(null),Nr=He(k=>{let N=fe(h.current,k,null);N!==-1&&(Dt.current!==null&&clearTimeout(Dt.current),Dt.current=setTimeout(()=>{Dt.current=null;let K=fe(h.current,k,N);K!==-1&&De.toIndex(K,{align:"bottom"})},dx))},[De]);vr(()=>()=>{Dt.current!==null&&clearTimeout(Dt.current)},[]);let _=He(k=>{if(!S.current)return;let N=$r(k.target,y.current);if(N===null||bp(k.target,N))return;let K=Rp(N,h.current);K!==null&&(Ae(K.reportHubId,K.index),L(K.reportHubId,K.index))},[L,Ae]),P=He((k,N)=>Kt(Gr.Provider,{value:N,children:Kt(yo.Provider,{value:k.reportHubId,children:Kt(oh,{item:k,observeRowHeight:ur,onCommentAdded:Nr,userId:r})})},k.reportHubId),[ur,Nr,r]),W=md(()=>({...Ta,renderThumbOverlay:_t}),[_t]),q=md(()=>Kt(jr.Provider,{value:U,children:Kt(Xs,{ref:Ce,rowScope:ye,items:e,itemCount:H,getItem:B,getItemKey:v,getItemHeight:A,viewportSize:s,initialScrollAnchor:l,overscanCount:Ea,scrollBarOptions:W,behaviorOptions:i?sx:Rh,onRangeChange:j,onScrollAdjust:Q,onScroll:cr,testId:hh,className:ix,locale:m.locale,labels:m.labels,contentProps:Je,children:P})}),[Ce,ye,e,U,H,B,v,A,s,i,l,W,j,Q,cr,m.locale,m.labels,Je,P]);return Kt(px,{children:ux("div",{ref:Ge,className:lx,...Va,...z,onClick:_,children:[nt,q]})})};import gh from"lucide-react/dist/esm/icons/refresh-cw.js";import{createContext as hx,memo as Rx,useContext as bx,useLayoutEffect as Sx,useRef as gx}from"react";import{jsx as yd,jsxs as mx}from"react/jsx-runtime";var Qs=e=>10**String(e).length-1,Oo=({text:e,widestTexts:t,ref:r})=>mx("span",{ref:r,className:Sc,children:[yd("span",{"aria-hidden":"true",className:na,children:[...new Set(t)].map(n=>yd("span",{className:Or,children:n},n))}),yd("span",{className:gc,children:e})]});import{useLayoutEffect as fx,useState as bh}from"react";import{jsx as Sh,jsxs as yx}from"react/jsx-runtime";var hd=Object.freeze({status:"",alert:""}),Js=({announcement:e,testId:t})=>{let[r]=bh(e),[n,o]=bh(!1),a=n||e.status!==r.status||e.alert!==r.alert;fx(()=>{a&&!n&&o(!0)},[a,n]);let{status:s,alert:i}=a?e:hd;return yx("span",{"data-testid":t,className:"sr-only",children:[Sh("span",{role:"status",children:s}),Sh("span",{role:"alert",children:i})]})};import{Fragment as Ox,jsx as rt,jsxs as Tt}from"react/jsx-runtime";var bd=hx(!0),Ex="daily-report-ids-stream-status-announcer",Tx="inline-grid whitespace-nowrap text-start",Ah="col-start-1 row-start-1",Ax=`${na} ${Ah}`,Dx=`${Ah} flex justify-self-start rounded-full empty:not-focus:invisible ${ee}`,Dh=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"),Rd="size-2 rounded-full bg-blue-500 dark:bg-blue-400",wh=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"),xh=x(Ke,"gap-1 bg-rose-100 font-medium text-rose-800 text-xs dark:bg-rose-900/40 dark:text-rose-300"),Ih=x(Ke,"gap-1 bg-slate-100 font-medium text-slate-700 text-xs dark:bg-slate-800/40 dark:text-slate-300"),vh=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),Eh="size-3",Th=`${Dh} ${Or}`,wx=`${wh} ${Or}`,xx=`${xh} ${Or}`,Ix=`${Ih} ${Or}`,Ch=(e,t)=>Qs(t===null?e:Math.max(e,t)),vx=(e,t,r)=>{let n=Ch(t,r);return r===null||r===0?{text:e.streamProgressCount(t),widestText:e.streamProgressCount(n)}:{text:e.streamProgressRatio(t,r,Math.min(100,Math.round(t/r*100))),widestText:e.streamProgressRatio(n,n,100)}},Cx=({labels:e,loadedCount:t,totalCount:r})=>{let{text:n,widestText:o}=vx(e,t,r);return Tt("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:Dh,children:[rt("span",{"aria-hidden":"true",className:Rd}),rt(Oo,{text:n,widestTexts:[o]})]})},_x=(e,t,r)=>e.phase==="streaming"?rt(Cx,{labels:t,loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?Tt("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:wh,children:[rt(gh,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?Tt("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:xh,children:[t.streamFailed,rt("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:r,className:vh,children:t.streamRetry})]}):e.isRevalidating?Tt("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"revalidating",className:Ih,children:[rt(gh,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null,Lx=Rx(({labels:e,widest:t})=>Tt("span",{"aria-hidden":"true",className:Ax,children:[Tt("span",{className:Th,children:[rt("span",{className:Rd}),e.streamProgressCount(t)]}),Tt("span",{className:Th,children:[rt("span",{className:Rd}),e.streamProgressRatio(t,t,100)]}),Tt("span",{className:wx,children:[rt("span",{className:Eh}),e.streamRetrying(t)]}),Tt("span",{className:xx,children:[e.streamFailed,rt("span",{className:vh,children:e.streamRetry})]}),Tt("span",{className:Ix,children:[rt("span",{className:Eh}),e.streamRevalidating]})]})),Sd=(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:""}:hd,Nx=(e,t)=>Sd({phase:e.phase,hasItems:!0,retryingCount:e.phase==="retrying"?e.loadedCount:null},t),Mo=()=>{let e=am(),{labels:t}=$(),r=bx(bd),n=gx(null),a=_x(e,t,()=>{rr([n.current]),os()}),s=a===null;return Sx(()=>{let i=n.current;!s||i===null||!i.contains(Ve(i))||rr(ms(i.ownerDocument))},[s]),Tt(Ox,{children:[Tt("span",{className:Tx,children:[rt(Lx,{labels:t,widest:Ch(e.loadedCount,e.totalCount)}),rt("span",{ref:n,tabIndex:-1,"data-daily-report-stream-status":"",className:Dx,children:a})]}),r?rt(Js,{announcement:Nx(e,t),testId:Ex}):null]})};import{Panel as Zh,PanelGroup as tv,PanelResizeHandle as rv}from"@aiquants/resize-panels";import{useCallback as dt,useEffect as ai,useLayoutEffect as Uo,useMemo as _d,useRef as _r,useState as ii}from"react";import{useSyncExternalStore as Mx}from"react";var _h="(max-width: 639px)",Px=()=>{},kx=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return Px;let t=window.matchMedia(_h);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},Fx=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(_h).matches:!1,Hx=()=>!1,Lh=()=>Mx(kx,Fx,Hx);import{SwipeCloseGuardContext as cI,useOverlayEscapeStack as uI,useSwipeGuardState as pI,useSwipeToDismissOverlay as mI,useTapClick as fI,useTransitionDisplay as yI}from"@aiquants/swipe-overlay";import{useCallback as ri,useEffect as Bn,useId as xd,useLayoutEffect as Id,useRef as vt,useState as ni}from"react";import{useMemo as Bx}from"react";var Po=(e,t)=>{let{id:r,indexHint:n}=t;return Bx(()=>{if(r===null)return null;let o=fe(e,r,n);return o===-1?null:Ft(e,o)},[e,r,n])};import Vx from"lucide-react/dist/esm/icons/check.js";import Ux from"lucide-react/dist/esm/icons/pencil.js";import Wx from"lucide-react/dist/esm/icons/trash-2.js";import{memo as Kx,useCallback as rn,useDeferredValue as zx,useEffect as Td,useId as Mh,useLayoutEffect as Ad,useMemo as Vo,useRef as Bo,useState as Ph,useSyncExternalStore as $x}from"react";import*as ir from"@radix-ui/react-tabs";import*as lt from"react";import{jsx as Fn}from"react/jsx-runtime";var Nh=lt.createContext(null),Oh=e=>{let t=lt.useContext(Nh);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},gd=(e,t)=>`${e}-trigger-${t}`,Ed=(e,t)=>`${e}-panel-${t}`,ko=lt.forwardRef(({value:e,children:t,...r},n)=>{let o=lt.useId(),a=lt.useMemo(()=>({baseId:o,value:e}),[o,e]);return Fn(ir.Root,{ref:n,value:e,...r,children:Fn(Nh,{value:a,children:t})})});ko.displayName=ir.Root.displayName;var Fo=lt.forwardRef(({className:e,...t},r)=>Fn(ir.List,{ref:r,className:x("inline-flex",e),...t}));Fo.displayName=ir.List.displayName;var Ho=lt.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=Oh("TabsTrigger");return Fn(ir.Trigger,{ref:n,value:t,...r,id:gd(o,t),"aria-controls":Ed(o,t),className:x(`${cc} ${ee}`,e)})});Ho.displayName=ir.Trigger.displayName;var Hn=lt.forwardRef(({className:e,value:t,tabStop:r,children:n,...o},a)=>{let{baseId:s,value:i}=Oh("TabsContent"),l=t===i,d="mt-2 data-[state=inactive]:hidden";return r?Fn("div",{ref:a,role:"tabpanel",id:Ed(s,t),"aria-labelledby":gd(s,t),"data-state":l?"active":"inactive",hidden:!l,tabIndex:0,...o,className:x(`${d} ${ee}`,e),children:l?n:null}):Fn("div",{ref:a,role:"tabpanel",id:Ed(s,t),"aria-labelledby":gd(s,t),"data-state":l?"active":"inactive",hidden:!l,...o,className:x(d,e),children:l?n:null})});Hn.displayName="TabsContent";import{jsx as G,jsxs as lr}from"react/jsx-runtime";var Bh=x(Mr,"w-24 shrink-0"),kh={field:"flex items-baseline",label:Bh,value:"flex-1"},jx={field:"flex min-w-0 flex-1 items-baseline",label:Bh,value:"wrap-break-word min-w-0 flex-1"},Gx={field:"flex flex-col gap-1",label:Mr,value:""},Yx={field:"flex min-w-0 items-center gap-1",label:x(Mr,"shrink-0 whitespace-nowrap"),value:""},qx="flex min-h-4 flex-wrap items-center gap-x-2 gap-y-1 text-slate-500 text-xs dark:text-slate-300",Fh=x("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",Ri,Yd,Gd),Hh={desktop:x(Fh,wc),overlay:Fh},Xx=x("flex flex-col gap-1",bi),Zx=x(lc,"grid grid-cols-2 gap-1"),Qx=x("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",ee),Dd=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)})}},Jx=(e,t,r,n,o,a)=>{let s=Bo(null),i=e?.reportHubId;Ad(()=>{s.current=null},[i]),Td(()=>{n||(s.current=null)},[n]);let l=rn(async(d,c)=>{c||(s.current=d.reportHubId);try{await a(d.reportHubId,!d.isRead,d.date)}catch{}},[a]);return Td(()=>{if(!(r&&e&&!e.isRead&&!t)||s.current===e.reportHubId)return;let d=null,c=()=>{d!==null&&clearTimeout(d),d=o.isDwelling()?setTimeout(()=>l(e,!0),500):null};c();let p=o.subscribe(c);return()=>{p(),d!==null&&clearTimeout(d)}},[e,t,r,l,o]),{handleToggleRead:l}},wd="article",eI=["article","relations"],tI=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},rI=x("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",Nt),nI=x("flex h-full flex-1 items-center justify-center text-center",sn),oI=9,aI=.875,sI=16,Vh=4*Math.ceil((2*zt+2*Xo+2*Zd+oI*aI*sI)/4),Uh=({dailyReportItems:e,selectionStore:t,autoMarkRead:r,userId:n,onReportDeleted:o})=>{let{labels:a}=$(),s=Mh(),i=Mh(),[l,d]=Ph(wd),{selected:c,settled:p}=$x(t.subscribe,t.getSnapshot,t.getSnapshot),u=Po(e,c),y=Po(e,zx(p)),m=u===null?null:u.reportHubId,b=(y===null?null:y.reportHubId)===m,[R]=Ph(()=>Dd(b));return Ad(()=>{R.set(b)},[R,b]),G("aside",{"data-testid":"daily-report-side-pane","data-report-id":u?.reportHubId,"data-displayed-report-id":y?.reportHubId,"aria-busy":b?void 0:!0,className:rI,children:y===null?G("div",{className:nI,children:G("p",{className:Yt,children:a.selectPrompt})}):G(ti,{item:y,placement:"desktop",headingId:s,authorId:i,activeTab:l,onActiveTabChange:d,autoMarkRead:r,isActive:!0,dwell:R,userId:n,onReportDeleted:o},y.reportHubId)})},ti=Kx(({item:e,placement:t,headingId:r,authorId:n,activeTab:o,onActiveTabChange:a,autoMarkRead:s,isActive:i,dwell:l,userId:d,onReportDeleted:c})=>{let{labels:p,sourceTypeConfigs:u,headingLevel:y}=$(),{report:m,error:f,isLoading:b}=Vr(e.reportHubId,e.businessDate),R=Tr(),E=cs(e.reportHubId),h=E==="editing"||E==="automatic",S=Bo(null),g=Bo(null),T=Bo(!1),w=Bo(!1),C=!!(d&&m?.userId===d),H=m?.isDraft===!0;Td(()=>{m!==null&&(C&&H&&E==="display"?R.open(e.reportHubId,Nn(m),!0):!H&&E==="automatic"&&R.discard(e.reportHubId))},[m,C,H,E,R,e.reportHubId]);let U=Vo(()=>m===null?void 0:()=>{T.current=!0,R.open(e.reportHubId,Nn(m),!1)},[R,e.reportHubId,m]),B=rn(()=>{w.current=!0,R.dismiss(e.reportHubId)},[R,e.reportHubId]),A=rn(()=>{w.current=!0,R.discard(e.reportHubId)},[R,e.reportHubId]),v=rn(z=>{z===null||!T.current||(T.current=!1,z.focus())},[]),I=rn(z=>{z===null||!w.current||(w.current=!1,z.focus())},[]),L=rn(()=>{g.current?.focus({preventScroll:!0})},[]);Ad(()=>{h||!w.current||(w.current=!1,g.current?.focus())},[h]);let M=rn(()=>{setTimeout(()=>{let z=S.current;z!==null&&z.scrollTo({top:z.scrollHeight,behavior:Lp(z)})},100)},[]),O=Se(e.businessDate),D=Vo(()=>m===null?null:ke(m.employeeName),[m]),V=b||!m,F=m===null?void 0:Zt(m.sourceType,u);return lr(Cn,{reportHubId:e.reportHubId,children:[lr("div",{className:Xx,children:[G("dl",{className:"m-0",children:G(et,{label:p.businessDate,classNames:Gx,children:G(it,{ref:g,level:y,id:r,tabIndex:-1,className:Qx,children:O})})}),lr("div",{className:qx,children:[G("dl",{className:"m-0 min-w-0",children:G(et,{label:p.author,classNames:Yx,valueId:n,children:V||D===null?G("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):G(se,{fieldKey:le.field("employeeName"),raw:m?.employeeName,display:D})})}),F?G(Pn,{config:F}):null,m===null?null:G(Ws,{isEditing:h,descriptionId:null})]})]}),lr(ko,{value:o,onValueChange:z=>a(tI(z)),className:"flex min-h-0 flex-1 flex-col",children:[G("div",{className:bi,children:G(Fo,{"aria-label":p.reportTabList,className:Zx,children:eI.map(z=>G(Ho,{value:z,children:z==="article"?p.tabArticle:p.tabRelations},z))})}),G(Hn,{ref:S,value:"article",tabStop:!0,className:Hh[t],children:h?m?G(Cs,{report:m,onCancel:B,onPublishSuccess:A,titleInputRef:v}):G("p",{className:sn,children:p.loading}):G(dI,{report:m,sourceConfig:F,isLoading:b,error:f,item:e,autoMarkRead:s,isActive:i,dwell:l,onCommentAdded:M,userId:d,onEdit:C?U:void 0,editButtonRef:I,onReportDeleted:c,onCommentSectionRemoved:L})}),G(Hn,{value:"relations",tabStop:!0,className:Hh[t],children:G("p",{className:sn,children:p.relationsEmpty})})]})]})});ti.displayName="DailyReportSidePaneContent";var ei=({className:e="w-32"})=>G("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),iI=["w-full","w-11/12","w-4/5"],lI=x(Qd,Zo),dI=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:s=!0,dwell:i,onCommentAdded:l,userId:d,onEdit:c,editButtonRef:p,onReportDeleted:u,onCommentSectionRemoved:y})=>{let{toggleStar:m,toggleRead:f,deleteReport:b}=ze(),{labels:R,headingLevel:E}=$(),h=Ar[E],{handleToggleRead:S}=Jx(e,r,a,s,i,f),g=e!==null&&ya(e.sourceType,t),T=Vo(()=>e?.content?Pc(e.content):null,[e]),w=Vo(()=>ke(e?.subject),[e]),C=Vo(()=>ke(e?.customerName),[e]),H=async v=>{try{await m(v.reportHubId,!v.isStarred,v.date)}catch{}},U=async v=>{if(confirm(R.confirmDelete)){try{await b(v.reportHubId,v.date)}catch{return}u(v.reportHubId)}};if(n)return G("p",{className:$n,children:R.reportLoadFailed(o.reportHubId)});let B=!e,A=!!(d&&e?.userId===d);return lr("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:c,children:[lr("div",{className:"flex items-start gap-2",children:[G("dl",{className:"m-0 flex min-w-0 flex-1",children:G(et,{label:R.subject,classNames:jx,children:B?G(ei,{className:"w-3/4"}):G("span",{className:"text-sm",children:G(se,{fieldKey:le.field("subject"),raw:e?.subject,display:w})})})}),!B&&e&&lr("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[G("button",{type:"button",onClick:()=>H(e),className:We,title:e.isStarred?R.starRemove:R.starAdd,"aria-label":e.isStarred?R.starRemove:R.starAdd,"data-detail-star-button":e.reportHubId,children:G(Mn,{filled:e.isStarred})}),G("button",{type:"button",onClick:()=>S(e,!1),className:We,title:e.isRead?R.markUnread:R.markRead,"aria-label":e.isRead?R.markUnread:R.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?G(Vx,{className:Pe.read}):G(kn,{})}),c&&G("button",{ref:p,type:"button",onClick:c,"data-detail-edit-button":e.reportHubId,className:We,title:R.edit,"aria-label":R.edit,children:G(Ux,{className:Pe.edit})}),A&&G("button",{type:"button",onClick:()=>U(e),"data-detail-delete-button":e.reportHubId,className:We,title:R.deleteReport,"aria-label":R.deleteReport,children:G(Wx,{className:Pe.delete})})]})]}),G("dl",{className:"m-0",children:G(et,{label:R.customer,classNames:kh,children:B?G(ei,{className:"w-1/2"}):G("span",{className:"text-sm",children:G(se,{fieldKey:le.field("customerName"),raw:e?.customerName,display:C})})})}),lr("div",{className:"flex flex-col gap-2",children:[G(it,{level:h,className:Gt,children:R.content}),G("div",{className:lI,children:B?iI.map(v=>G("div",{className:Jd,children:G(ei,{className:v})},v)):T!==null&&T.text.length>0?G("div",{className:"whitespace-pre-wrap",children:G(se,{fieldKey:le.field("content"),raw:e?.content,display:T})}):G("p",{className:"text-slate-500 dark:text-slate-400",children:R.contentEmpty})})]}),G("dl",{className:"m-0",children:G(et,{label:R.visitTime,classNames:kh,children:B?G(ei,{className:"w-1/3"}):lr("span",{className:"text-sm",children:[br(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",br(e?.visitTimeTo)]})})}),e&&G(As,{attachments:e.attachments}),e&&G(vo,{report:e,userId:d,canComment:g,onCommentAdded:l,onSectionRemoved:y,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};import{jsx as Cr,jsxs as Wh}from"react/jsx-runtime";var hI="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]",RI={right:"var(--aqdr-overlay-right, 0px)"},bI="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",SI=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",bc),gI=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),EI="flex shrink-0 justify-center empty:hidden",TI=50,Kh=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[s,i]=ni(!1),[l,d]=ni(!1),c=vt(null),p=vt(null),u=vt(null),y=vt(e),m=vt(!0),f=Po(r,t),b=ri(()=>{let S=o.current;if(S===null)return;let g=S.ownerDocument.body;u.current={body:g,overflow:g.style.overflow},g.style.overflow="hidden"},[o]),R=ri(()=>{let S=u.current;S!==null&&(S.body.style.overflow=S.overflow,u.current=null)},[]);Bn(()=>{if(m.current){m.current=!1,y.current=e;return}let S=!y.current;y.current=e,S&&e&&a!==null?i(!0):!e&&s&&(p.current=a,i(!1),R())},[e,a,s,R]);let E=e&&s&&f!==null;Bn(()=>{if(E)d(!0);else{let S=setTimeout(()=>d(!1),300);return()=>clearTimeout(S)}},[E]),Bn(()=>{if(e&&s&&a!==null&&!c.current){let S=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:S},"",window.location.href),c.current=S}else!(e&&s)&&c.current&&(c.current=null);return e&&s?b():R(),R},[e,s,a,b,R]),Bn(()=>{let S=()=>{c.current&&(p.current=a,c.current=null,i(!1),n(null))};return window.addEventListener("popstate",S),()=>window.removeEventListener("popstate",S)},[a,n]);let h=ri(()=>{e&&(p.current=a,i(!1),n(null),c.current&&(c.current=null,window.history.back()))},[e,a,n]);return{isMobileDetailOpen:s,setIsMobileDetailOpen:i,isOverlayMounted:l,shouldShowOverlay:E,handleOverlayClose:h,lastClosedItemIdRef:p,selectedItem:f}},zh=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:s}=$(),{registerNoticeHost:i}=ys(),l=vt(null),d=vt(null),c=xd(),p=xd(),[u,y]=ni(wd),m=uI(),f=xd(),b=vt(!1),R=vt(e),E=vt(null),[h]=ni(()=>Dd(e)),{isBlocked:S,requestBlock:g,reset:T}=pI(),w=yI(e,t),{overlayRef:C,overlayStyle:H,attemptClose:U,isSwiping:B}=mI({isOpen:e,onClose:r,isCloseBlocked:ri(()=>S,[S]),skipWhenTextSelected:!0}),A=vt(U);Id(()=>{A.current=U,R.current=e,h.set(e)},[U,e,h]),Bn(()=>{if(e)return m({id:f,onEscape:O=>nr(O)&&A.current()})},[e,m,f]),Id(()=>{let O=l.current;if(O===null)return;if(e){if(b.current)return;O.showModal(),b.current=!0,O.ownerDocument.getElementById(c)?.focus();return}if(!b.current)return;b.current=!1;let D=Ve(O);D!==null&&O.contains(D)&&lo(D)&&D.blur(),O.close()},[e,c]),Id(()=>{let O=d.current;if(!(!e||O===null))return i(O)},[e,i]),Bn(()=>{e||T()},[e,T]);let v=fI(()=>U()),I=O=>{let D=vn(O);if(nr(D)){U()&&O.preventDefault();return}if(D.key==="Escape"){E.current=O.timeStamp;return}let V=Vm(D,O.currentTarget);V!==null&&(O.preventDefault(),V.kind==="wrap"&&V.element.focus())},L=O=>{O.preventDefault();let D=E.current;E.current=null,!(D!==null&&O.timeStamp-D<=TI)&&A.current()},M=O=>{let D=O.currentTarget;D.open||!R.current||(b.current=!1,!A.current()&&(D.showModal(),b.current=!0))};return w?Wh("dialog",{ref:l,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${c} ${p}`,tabIndex:-1,className:x(hI,e&&!B?"pointer-events-auto":"pointer-events-none"),style:RI,inert:!e,onKeyDown:I,onCancel:L,onClose:M,children:[Cr("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:x(bI,e?"opacity-100":"opacity-0"),...v}),Cr("div",{ref:C,"data-daily-report-overlay-panel":"",className:x(SI,e?"pointer-events-auto":"pointer-events-none"),style:H,children:Wh("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[Cr(cI.Provider,{value:{isBlocked:S,requestBlock:g},children:Cr("div",{"data-testid":"daily-report-side-pane","data-report-id":w.reportHubId,"data-displayed-report-id":w.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:Cr(ti,{item:w,placement:"overlay",headingId:c,authorId:p,activeTab:u,onActiveTabChange:y,autoMarkRead:n,isActive:e,dwell:h,userId:o,onReportDeleted:a},w.reportHubId)})}),Cr("div",{ref:d,"data-daily-report-notice-slot":"","data-overlay-interactive":"true",className:EI}),Cr("div",{className:"flex justify-start",children:Cr("button",{type:"button","data-overlay-interactive":"true",className:gI,onClick:()=>U(),children:s.close})})]})})]}):null};import kI from"lucide-react/dist/esm/icons/check.js";import{memo as Yh,useContext as qh,useEffect as FI,useMemo as vd,useRef as HI}from"react";import{createContext as AI,createElement as DI,useLayoutEffect as wI,useMemo as xI,useRef as II,useState as vI}from"react";var CI=6.75,_I=4,LI=1e-6,NI=e=>4*Math.ceil((2*zt+2*Xo+_I+CI*e-LI)/4),oi=AI(null),OI="data-daily-report-root-font-size-probe",MI={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},PI=e=>{let t=Ne(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])},$h=()=>{let e=II(null),[t,r]=vI(null);wI(()=>{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=NI(PI(o));l!==a&&(a=l,r(l))};s();let i=new ResizeObserver(s);return i.observe(o),()=>i.disconnect()},[]);let n=xI(()=>DI("div",{ref:e,"aria-hidden":!0,[OI]:"",style:MI}),[]);return{rowSlotHeight:t,remProbe:n}};import{jsx as te,jsxs as Un}from"react/jsx-runtime";var BI=x(hr,Yo,qo,Go),VI=x("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",Nt,Qo,Xd),UI="min-w-24",WI="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",KI={touchAction:"manipulation"},zI=x("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",UI),$I=x("relative z-10",We),jI=x(Ke,"shrink-0 whitespace-nowrap bg-slate-100 font-medium text-slate-900 text-xs dark:bg-slate-800 dark:text-slate-100"),GI=x(Ke,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),YI=x(tc,"ml-auto"),qI=x("flex h-full",Nt),XI="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",Vn="h-4 rounded bg-slate-200 dark:bg-slate-700",ZI=te("div",{"data-skeleton":!0,...ct,className:qI,children:Un("div",{className:XI,children:[Un("div",{className:"flex flex-wrap items-center gap-2",children:[te("div",{className:x(Vn,"w-24")}),te("div",{className:x(Vn,"w-24")}),te("div",{className:x(Vn,"w-24")})]}),Un("div",{className:"space-y-2",children:[te("div",{className:x(Vn,"w-full")}),te("div",{className:x(Vn,"w-11/12")}),te("div",{className:x(Vn,"w-5/6")})]})]})}),QI=()=>ZI,JI=e=>{e.target===e.currentTarget&&e.preventDefault()},jh=({reportHubId:e,rowId:t,name:r,children:n})=>{let o=qh(oi);if(o===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let a=vd(()=>({height:o}),[o]);return te(Us,{reportHubId:e,rowId:t,name:r,className:BI,style:a,onMouseDown:JI,children:n})},ev=(e,t)=>[ce(e,"state"),...t.hasAttachments?[ce(e,"attachments")]:[],...t.hasSource?[ce(e,"source")]:[],ce(e,"preview"),...t.showsSearchMatch?[ce(e,"match")]:[]],Gh=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=Ln();return te("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:$I,children:n})},Xh=Yh(({item:e,report:t,rowId:r,sourceConfig:n,describedBy:o,onSelect:a})=>{let{labels:s}=$(),{toggleStar:i,toggleRead:l}=ze(),d=ce(r,"name"),c=vd(()=>Mc(t.content??null,vu),[t.content]),p=vd(()=>ke(t.employeeName),[t.employeeName]),u=Se(e.businessDate),y=E=>{E.currentTarget.focus({preventScroll:!0});let h=hp(E.currentTarget);h!==null&&a(e.reportHubId,h)},m=async()=>{let E=!t.isStarred;try{await i(t.reportHubId,E,t.date)}catch{}},f=async()=>{let E=!t.isRead;try{await l(t.reportHubId,E,t.date)}catch{}},b=t.isStarred?s.starRemove:s.starAdd,R=t.isRead?s.markUnread:s.markRead;return te("div",{"data-daily-report-card":!0,...ct,"aria-labelledby":d,style:KI,className:VI,children:Un(Cn,{reportHubId:e.reportHubId,children:[te(Vs,{id:ce(r,"position"),whileTotalUnknownOnly:!1}),te("span",{id:ce(r,"state"),className:"sr-only",children:s.rowState({isRead:t.isRead,isStarred:t.isStarred})}),Un("button",{id:d,type:"button",tabIndex:-1,[up]:e.reportHubId,...Ba,"aria-describedby":o,onClick:y,className:zI,children:[te("span",{className:jI,children:u})," ",te("span",{className:GI,children:te("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:te(se,{fieldKey:le.field("employeeName"),raw:t.employeeName,display:p})})})]}),Un("div",{className:YI,children:[te(jn,{id:ce(r,"attachments"),count:t.attachments.length,label:s.attachments}),n?te(Pn,{id:ce(r,"source"),config:n}):null,te(Gh,{label:b,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:m,children:te(Mn,{filled:t.isStarred})}),te(Gh,{label:R,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:f,children:t.isRead?te(kI,{className:Pe.read}):te(kn,{})})]}),te("div",{id:ce(r,"preview"),className:WI,children:c.length>0?c.map((E,h)=>te("p",{className:"wrap-break-word line-clamp-1",children:te(se,{fieldKey:le.field("content"),raw:t.content,display:E})},h)):te("p",{children:s.contentEmptyPreview})}),te(zy,{id:ce(r,"match")})]})})});Xh.displayName="ListReportCard";var Cd=Yh(({item:e,onSelect:t})=>{let{labels:r,sourceTypeConfigs:n}=$(),{removeStaleItem:o}=ze(),{report:a,error:s,isLoading:i,isRefetching:l}=Vr(e.reportHubId,e.businessDate),{bodyReady:d,rendered:c}=Wa(e.reportHubId,a,"fixed"),p=Hs(e.reportHubId),u=qh(bt)!==null,y=HI(!1);FI(()=>{if(l){y.current=!0;return}!(a||i||s)&&y.current&&e.reportHubId>0&&o(e.reportHubId)},[a,i,l,s,e.reportHubId,o]);let m=Se(e.businessDate),f=(E,h)=>te(jh,{reportHubId:e.reportHubId,rowId:p,name:{kind:"label",label:m,isBusy:h},children:E});if(!d)return f(Bs,!0);if(s)return f(te("div",{...ct,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:te("p",{children:r.reportSummaryLoadFailed(e.reportHubId)})}),!1);if(c===null&&(i||a!==null))return f(te(QI,{}),!0);if(!c)return f(te("div",{...ct,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:te("p",{children:r.reportNotFound})}),!1);let b=Zt(c.sourceType,n),R=ev(p,{hasAttachments:c.attachments.length>0,hasSource:b!==void 0,showsSearchMatch:u});return te(jh,{reportHubId:e.reportHubId,rowId:p,name:{kind:"card",describedBy:R},children:te(Xh,{item:e,report:c,rowId:p,sourceConfig:b,describedBy:[ce(p,"position"),...R].join(" "),onSelect:t})})});Cd.displayName="ListReportItem";import{Fragment as bv,jsx as Ze,jsxs as si}from"react/jsx-runtime";var Jh={pointerDragInputs:Aa,inertiaOptions:gn(!1),wheelSpeedMultiplier:Ra,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},nv={...Jh,inertiaOptions:gn(!0)},ov=Object.freeze({value:360,unit:"pixels"}),av=Object.freeze({value:160,unit:"pixels"}),sv=Object.freeze({value:Vh,unit:"pixels"}),iv=Object.freeze({value:520,unit:"pixels"}),lv=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),dv=x("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",ee),cv=x("relative w-full",aa,oa,sa),uv=x(ut,"relative isolate overflow-hidden"),Qh="daily-report-list",pv=()=>!1,mv=()=>{throw new Error("[daily-report] a List activation arrived before the view committed")},fv=e=>{let[t,r]=ii(!1);return Uo(()=>{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<Iu)},a=new(Ne(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},Ld=e=>{let t=_r(null),[r,n]=ii(null),o=Na(t),a=fv(t),{rowSlotHeight:s,remProbe:i}=$h(),l=En(r),d=dt(c=>(t.current=c,n(c),()=>{t.current=null,n(null)}),[]);return si("div",{ref:d,className:ta,"data-testid":"daily-report-root",children:[i,o===null||s===null?null:Ze(yv,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:s,isContainerNarrow:a,reducedMotion:l})]})},yv=({dailyReportItems:e,rowSetSize:t,autoMarkRead:r=!1,selectedReportHubId:n,onSelectItem:o,userId:a,scrollOffsetRef:s,rootRef:i,viewportHeight:l,rowSlotHeight:d,isContainerNarrow:c,reducedMotion:p})=>{let[u]=ii(()=>s?.current??0),y=_r(null),{labels:m}=$(),f=Ca(),[b]=ii(Ka),E=Lh()||c,h=_r(null),S=e.length,g=t===void 0?S:t,T=_r(null),w=dt(N=>o(N),[o]),C=dt(N=>{let K=me(e,N);return K===void 0?Sa:K},[e]),H=_r(null),U=dt(N=>{let K=C(N.visibleStartIndex);K.reportHubId>0&&(b.setLabel(Se(K.businessDate)),H.current=K.reportHubId)},[C,b]),B=dt(()=>H.current,[]),A=_d(()=>({kind:"uniform",rowHeight:d}),[d]),v=_r(e);Uo(()=>{v.current=e},[e]);let I=_r(mv),L=dt(N=>I.current(N),[]),{containerProps:M,handleRangeChange:O,handleScrollAdjust:D,attachVirtualScroll:V,handleRef:F,scroller:z,attachScrollContainer:j,contentProps:Q,keyboardHelp:Ce,selection:Ee,selectionStore:De,activateRow:Ge,focusViewRow:Je,focusAfterRemoval:nt,rowPass:Y,rowScope:Ae}=qs({items:e,selectedId:n,onSelect:w,onActivate:L,containerRef:y,rootRef:i,testId:Qh,itemsRef:v,rowSetSize:g,rowSizing:A,arrowAlign:"nearest",isViewRevealPending:pv,onRangeChange:U});$a({items:e,scroller:z,readTopReportId:B});let{isMobileDetailOpen:ie,setIsMobileDetailOpen:ye,isOverlayMounted:_e,shouldShowOverlay:Ye,handleOverlayClose:cr,lastClosedItemIdRef:_t,selectedItem:At}=Kh({isMobileLayout:E,selection:Ee,dailyReportItems:e,onSelectItem:o,rootRef:i});ai(()=>{let N=y.current,K=()=>{b.setWheelScrollActive(!0),h.current&&clearTimeout(h.current),h.current=window.setTimeout(()=>{b.setWheelScrollActive(!1),h.current=null},ga)};return N?.addEventListener("wheel",K,{passive:!0}),()=>{N?.removeEventListener("wheel",K),h.current&&clearTimeout(h.current)}},[b]),ai(()=>{!S&&n!==null&&o(null)},[S,n,o]),ai(()=>{if(ie||_t.current===null)return;let N=_t.current;_t.current=null,Je(N,"overlay")},[ie,_t,Je]),ai(()=>{let N=me(e,0);N!==void 0&&b.setLabel(Se(N.businessDate))},[e,b]);let Lt=dt(N=>{o(N),E&&ye(!0)},[E,o,ye]);Uo(()=>{I.current=Lt},[Lt]);let ur=dt((N,K)=>{N<=0||(Ge(N,K),Lt(N))},[Ge,Lt]),pr=dt(()=>d,[d]),Dt=_r(d);Uo(()=>{let N=Dt.current;Dt.current=d;let K=F.current;if(N===d||K===null)return;let J=K.getScrollPosition();J>0&&z.by(J*d/N-J)},[F,d,z]);let Nr=dt(N=>ka(e,N),[e]),_=dt((N,K)=>Ze(Gr.Provider,{value:K,children:Ze(yo.Provider,{value:N.reportHubId,children:Ze(Cd,{item:N,onSelect:ur})})},N.reportHubId),[ur]);Uo(()=>{let N=y.current;if(N!==null)return Y.attach(Ne(N),null)},[Y]);let P=dt(N=>{s&&(s.current=N);let K=y.current;K&&(K.toggleAttribute(an,!0),T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{K.toggleAttribute(an,!1),T.current=null},150))},[s]),W=dt(N=>Ze(za,{...N,store:b}),[b]),q=_d(()=>si("div",{ref:j,className:uv,...Va,...M,children:[Ce,Ze(jr.Provider,{value:g,children:Ze(oi.Provider,{value:d,children:Ze(Xs,{ref:V,rowScope:Ae,items:e,itemCount:S,getItem:C,getItemKey:Nr,getItemHeight:pr,viewportSize:l,initialScrollOffset:u,overscanCount:Ea,scrollBarOptions:{...Ta,renderThumbOverlay:W},behaviorOptions:p?nv:Jh,onRangeChange:O,onScrollAdjust:D,onScroll:P,testId:Qh,className:cv,locale:f.locale,labels:f.labels,contentProps:Q,children:_})})})]}),[j,V,Ae,e,M,g,S,C,Nr,pr,l,d,p,u,W,O,D,P,Ce,Q,f.locale,f.labels,_]),k=_d(()=>si(tv,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[Ze(Zh,{id:"daily-report-list-panel",defaultSize:ov,minSize:av,maxSize:iv,contentOverflow:"hidden",className:hv,children:q}),Ze(rv,{id:"daily-report-list-handle",thickness:10,indicator:lv,className:dv,"aria-label":m.resizeHandle}),Ze(Zh,{id:"daily-report-detail-panel",minSize:sv,contentOverflow:"hidden",className:Rv,children:Ze(Uh,{dailyReportItems:e,selectionStore:De,autoMarkRead:r,userId:a,onReportDeleted:nt})})]}),[q,m.resizeHandle,e,De,r,a,nt]);return si(bv,{children:[Ze("div",{className:ra,children:E?Ze("div",{className:ut,children:q}):k}),_e&&Ze(zh,{isOpen:Ye,selectedItem:At,onClose:cr,autoMarkRead:E&&r,userId:a,onReportDeleted:nt})]})},hv=x("flex min-h-0",jd),Rv=x("flex min-h-0 flex-1",hr);import{useCallback as JC,useEffect as KR,useLayoutEffect as e_,useRef as $R,useState as t_}from"react";import CC from"lucide-react/dist/esm/icons/plus.js";import _C from"lucide-react/dist/esm/icons/refresh-cw.js";import LC from"lucide-react/dist/esm/icons/rotate-cw.js";import{useEffect as Wd,useId as BR,useLayoutEffect as VR,useMemo as yi,useRef as Kn,useState as nn}from"react";import{useSearchParams as NC}from"react-router";import{useEffect as Sv,useRef as eR,useState as gv}from"react";var tR=(e,t,r=250)=>{let n=En(t),[o,a]=gv(e),s=eR(e),i=eR(!0);return Sv(()=>{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 d=Ne(t),c=0,p=null,u=y=>{p===null&&(p=y);let m=Math.min(1,Math.max(0,(y-p)/r)),f=1-(1-m)**3,b=Math.round(l+(e-l)*f);s.current=b,a(b),m<1&&(c=d.requestAnimationFrame(u))};return c=d.requestAnimationFrame(u),()=>d.cancelAnimationFrame(c)},[e,r,n,t]),n?e:o};import kv from"lucide-react/dist/esm/icons/loader-circle.js";import Fv from"lucide-react/dist/esm/icons/x.js";import{useEffect as dR,useId as Ko,useLayoutEffect as Hv,useRef as ci,useState as cR}from"react";var Wo=Object.freeze({maxValuesPerFacet:16,maxValueLength:200,maxTotalValueLength:300}),Md=["author","sourceType","customer"],Pd=Object.freeze({authors:Object.freeze([]),sourceTypes:Object.freeze([]),customers:Object.freeze([])}),Ev=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,Tv=e=>{let t=e.trim();return t.length===0?null:t.replace(Ev,"\uFFFD")},rR=e=>{let t=Tv(e);return t===null?"filter-blank-value":t!==e?"filter-value-not-canonical":e.length>Wo.maxValueLength?"filter-value-too-long":null},Av=e=>{if(e.length>Wo.maxValuesPerFacet)return"filter-too-many-values";let t=new Set;for(let r of e){let n=rR(r);if(n!==null)return n;if(t.has(r))return"filter-duplicate-value";t.add(r)}return null},Dv=e=>{let t=0;for(let r of e.authors)t+=r.length;for(let r of e.customers)t+=r.length;return t},li=e=>{for(let t of[e.authors,e.sourceTypes,e.customers]){let r=Av(t);if(r!==null)return r}return Dv(e)>Wo.maxTotalValueLength?"filters-too-long":null},Nd=e=>[...new Set(e)].sort((t,r)=>t<r?-1:1),di=e=>({authors:Nd(e.authors),sourceTypes:Nd(e.sourceTypes),customers:Nd(e.customers)}),Lr=e=>e.trim().length===0,Wn=e=>e.authors.length===0&&e.sourceTypes.length===0&&e.customers.length===0,nR=(e,t)=>{let r=di(t);for(let n of r.authors)e.append(xe.searchAuthor,n);for(let n of r.sourceTypes)e.append(xe.searchSourceType,n);for(let n of r.customers)e.append(xe.searchCustomer,n)},Od=e=>{if(!Array.isArray(e))return null;let t=[],r=new Set;for(let n of e){if(typeof n!="string"||rR(n)!==null||r.has(n))return null;r.add(n),t.push(n)}return t},oR=e=>{if(!Xt(e))return null;let t=Od(e.sourceTypes),r=Od(e.authors),n=Od(e.customers);return t===null||r===null||n===null?null:{sourceTypes:t,authors:r,customers:n}};import{Component as wv,Suspense as xv,useMemo as aR,useState as Iv}from"react";import{jsx as dr,jsxs as lR}from"react/jsx-runtime";var sR="flex min-h-6 items-center text-slate-600 text-xs dark:text-slate-300",vv=x(hc,Yt),Cv=[{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"}],_v=(e,t)=>t==="author"?e.author:t==="sourceType"?e.searchFilterSourceType:e.customer,Lv=(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},kd=class extends wv{constructor(){super(...arguments);this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?dr("span",{className:sR,children:this.props.fallback}):this.props.children}},Nv=(e,t,r,n)=>{let o=aR(()=>new Set(t.map(s=>s.value)),[t]),a=JSON.stringify(n.filter(s=>!o.has(s)));return aR(()=>{let s=JSON.parse(a);return s.length===0?t:[...t,...s.map(i=>r(e,i))]},[e,t,r,a])};function Ov({renderFilterSelect:e,selectProps:t}){return e(t)}var Mv=(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 Pv({cell:e,labels:t,locale:r,renderFilterSelect:n,candidates:o,optionOf:a,selected:s,onSelect:i}){let l=Nv(e.facet,o,a,s),d=_v(t,e.facet);return lR("fieldset",{"data-testid":e.testId,className:yc,children:[dr("legend",{"data-testid":`${e.testId}-caption`,className:vv,children:d}),dr(kd,{fallback:t.searchFilterUnavailable,children:dr(xv,{fallback:dr("span",{className:sR,children:t.searchFiltersLoading}),children:dr(Ov,{renderFilterSelect:n,selectProps:{facet:e.facet,label:d,options:l,value:s,onChange:c=>i(e,Lv(e.facet,c,l)),locale:r}})})})]})}function iR({id:e,labelledBy:t,labels:r,locale:n,renderFilterSelect:o,facets:a,value:s,onChange:i,clearSignal:l}){let[d,c]=Iv(null),p=Mv(r,a,d!==null&&d.selection===s&&d.clearSignal===l),u=(m,f)=>{let b={...s,[m.key]:f};if(li(b)!==null){c({selection:s,clearSignal:l});return}c(null),i(b)},y=a.status==="ready"?a:null;return lR("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:[y===null?null:dr("div",{className:fc,children:Cv.map(m=>dr(Pv,{cell:m,labels:r,locale:n,renderFilterSelect:o,candidates:y.options[m.key],optionOf:y.optionOf,selected:s[m.key],onSelect:u},m.facet))}),dr("span",{"data-testid":"daily-report-search-filters-status","aria-live":"polite",className:x("flex min-h-6 items-center text-slate-600 text-xs leading-4 empty:min-h-0 dark:text-slate-300",y===null?null:"mt-2 empty:mt-0",Yt),children:p})]})}import{Fragment as Qv,jsx as Qe,jsxs as zo}from"react/jsx-runtime";var Bv=x("h-6 w-full min-w-0 rounded-md border border-solid bg-white pr-[47px] pl-[7px] text-slate-900 text-sm dark:bg-slate-900 dark:text-slate-100",jt,ee),uR="inline-grid h-6 place-content-center place-items-center rounded-full border border-solid px-[11px] font-semibold text-xs tabular-nums",Vv="col-start-1 row-start-1",Uv="invisible col-start-1 row-start-1 after:content-[attr(data-search-toggle-reserve)]",ui=Object.freeze({field:x(uR,"bg-white text-slate-800 dark:bg-slate-900 dark:text-slate-100",jt,ee),filled:x(uR,"border-blue-700 bg-blue-700 text-white dark:border-blue-600 dark:bg-blue-600 dark:text-white forced-colors:border-[Highlight] forced-colors:bg-[Highlight] forced-colors:text-[HighlightText]",ee)}),Wv=Object.freeze({union:x("mr-2 min-w-14",ui.field),intersection:x("mr-2 min-w-14",ui.filled)}),pR=Object.freeze({closed:x("ml-2 min-w-26",ui.field),open:x("ml-2 min-w-26",ui.filled)}),Kv=Md.length*Wo.maxValuesPerFacet,zv="relative min-w-0",$v="pointer-events-none absolute inset-y-0 right-0 grid grid-cols-[repeat(2,--spacing(6))] place-items-center",jv=x("pointer-events-auto col-start-2 row-start-1",We),Gv="col-start-1 row-start-1 size-4 text-slate-500 motion-safe:animate-spin dark:text-slate-400",Yv="sr-only",qv=x("col-[2/-1] row-start-2 pt-1 pl-[8px] text-slate-600 text-xs leading-4 dark:text-slate-300",Yt),Xv=e=>e.authors.length+e.sourceTypes.length+e.customers.length,Zv=(e,t,r)=>t.status==="searching"?e.searching:t.status==="failed"&&t.failure!==null?e.searchFailed(t.failure):t.status==="done"&&r!==null?r===0?e.searchNoHits:e.searchHitCount(r):"",mR=({label:e,reserved:t})=>zo(Qv,{children:[Qe("span",{className:Vv,children:e}),Qe("span",{"aria-hidden":"true","data-search-toggle-reserve":t,className:Uv})]});function fR({labels:e,debounceMs:t,search:r,shownCount:n,onCommit:o,onCombineChange:a,onRelease:s,clearSignal:i,filters:l}){let[d,c]=cR(""),[p,u]=cR(!1),y=d.length>0||r.committed!==null&&!Lr(r.committed.text),m=Ko(),f=Ko(),b=ci(null),R=ci(null),E=ci(!1),h=ci(i),S=Ko(),g=Ko(),T=Ko(),w=Be(()=>({search:r,onCommit:o,onRelease:s}));Hv(()=>{w.current={search:r,onCommit:o,onRelease:s}});let C=()=>{R.current!==null&&clearTimeout(R.current),R.current=null},H=(j,Q,Ce)=>{let Ee=w.current;Lr(j)?Wn(Ce)?Ee.search.committed!==null&&Ee.onRelease():Ee.onCommit("",Q,Ce):Ee.onCommit(j,Q,Ce)},U=j=>{C();let Q=w.current;H(j,Q.search.combine,Q.search.filters)},B=j=>{t===null||E.current||(C(),R.current=setTimeout(()=>U(j),t))},A=()=>{C(),c(""),Wn(r.filters)?s():(r.committed===null||!Lr(r.committed.text))&&o("",r.combine,r.filters),b.current?.focus()},v=j=>{c(j.target.value),B(j.target.value)},I=j=>{let Q=vn(j);if(j.key==="Enter"&&!Zr(Q)){j.preventDefault(),U(d);return}nr(Q)&&y&&(j.preventDefault(),A())},L=()=>{C();let j=r.combine==="union"?"intersection":"union";Lr(d)&&Wn(r.filters)?a(j):H(d,j,r.filters)},M=j=>{p||j.facets.load(),u(!p)},O=j=>{C(),H(d,r.combine,j)};dR(()=>{h.current!==i&&(h.current=i,R.current!==null&&clearTimeout(R.current),R.current=null,c(""))},[i]),dR(()=>()=>{R.current!==null&&clearTimeout(R.current)},[]);let D=r.combine==="intersection",V=Zv(e,r,n),F=r.status==="failed"?r.failure:null,z=l!==null&&p;return zo("search",{"data-testid":"daily-report-search",className:pc,children:[zo("div",{className:mc,children:[Qe("button",{type:"button","data-testid":"daily-report-search-combine","aria-describedby":S,title:D?e.searchCombineAndTitle:e.searchCombineOrTitle,onClick:L,className:Wv[r.combine],children:Qe(mR,{label:D?e.searchCombineAnd:e.searchCombineOr,reserved:D?e.searchCombineOr:e.searchCombineAnd})}),zo("div",{className:zv,children:[Qe("input",{ref:b,type:"text","data-testid":"daily-report-search-input","aria-label":e.searchInputLabel,"aria-describedby":F===null?g:`${T} ${g}`,"aria-invalid":F==="invalid"?!0:void 0,title:e.searchSyntaxHelp,placeholder:e.searchPlaceholder,value:d,onChange:v,onKeyDown:I,onCompositionStart:()=>{E.current=!0,C()},onCompositionEnd:j=>{E.current=!1,B(j.currentTarget.value)},className:Bv}),zo("div",{className:$v,children:[r.status==="searching"?Qe(kv,{"aria-hidden":"true","data-testid":"daily-report-search-spinner",className:Gv}):null,y?Qe("button",{type:"button","data-testid":"daily-report-search-clear","aria-label":e.searchClear,title:e.searchClear,onClick:A,className:jv,children:Qe(Fv,{"aria-hidden":"true",className:"size-4"})}):null]})]}),l===null?null:Qe("button",{type:"button",id:m,"data-testid":"daily-report-search-filters-toggle","aria-expanded":p,"aria-controls":z?f:void 0,onClick:()=>M(l),className:p?pR.open:pR.closed,children:Qe(mR,{label:e.searchFiltersToggle(Xv(r.filters)),reserved:e.searchFiltersToggle(Kv)})}),Qe("span",{id:S,hidden:!0,children:D?e.searchCombineAndTitle:e.searchCombineOrTitle}),Qe("span",{id:g,hidden:!0,children:e.searchSyntaxHelp}),Qe("span",{"data-testid":"daily-report-search-status","aria-live":"polite",className:Yv,children:V}),F===null?null:Qe("p",{id:T,"data-testid":"daily-report-search-failure",className:qv,children:e.searchFailed(F)})]}),z?Qe(iR,{id:f,labelledBy:m,labels:e,locale:l.locale,renderFilterSelect:l.renderFilterSelect,facets:l.facets.state,value:r.filters,onChange:O,clearSignal:i}):null]})}var pi=new WeakMap,hR=e=>{let t=new Set,r=new Map;for(let n of e)t.add(n.reportHubId),r.set(n.reportHubId,n);return{items:e,ids:t,byId:r,answeredByChunk:new WeakMap}},mi=(e,t)=>e.businessDate===t.businessDate&&e.sourceType===t.sourceType,Jv=(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},eC=(e,t,r,n)=>{let o=new Map;for(let s of t.before)o.set(s.reportHubId,s);let a=n;for(let s of t.after){let i=o.get(s.reportHubId);if(i!==void 0){if(o.delete(s.reportHubId),!mi(i,s))return null;continue}if(!mi(s,yR(e,s.reportHubId))||r(s.reportHubId))return null;a-=1}for(let s of o.values()){if(!mi(s,yR(e,s.reportHubId))||r(s.reportHubId))return null;a+=1}return a},yR=(e,t)=>{let r=e.byId.get(t);if(r===void 0)throw new Error(`[daily-report] The shown answer does not hold report ${t}`);return r},RR=(e,t,r,n)=>{if(e===null)return{items:t,hasAnswerOnlyItems:!1};let o=p=>e.ids.has(p),a=pi.get(e);if(a!==void 0&&a.isReportRemoved===r&&a.removedVersion===n){if(a.stream===t)return a.list;if(a.stream instanceof at&&t instanceof at){let p=eC(e,ap(a.stream,t,e.answeredByChunk,o),r,a.answerOnlyCount);if(p!==null){let u=a.list.hasAnswerOnlyItems===p>0?a.list:{items:a.list.items,hasAnswerOnlyItems:p>0};return pi.set(e,{...a,stream:t,list:u,answerOnlyCount:p}),u}}}let s=new Map;for(let p of op(t,e.answeredByChunk,o))s.set(p.reportHubId,p);let i=[],l=0;for(let p of e.items){let u=s.get(p.reportHubId);u!==void 0?i.push(mi(u,p)?p:u):r(p.reportHubId)||(i.push(p),l+=1)}let d=l>0;if(a!==void 0&&a.list.hasAnswerOnlyItems===d&&Jv(a.items,i))return pi.set(e,{stream:t,isReportRemoved:r,removedVersion:n,items:a.items,list:a.list,answerOnlyCount:l}),a.list;let c={items:i,hasAnswerOnlyItems:d};return pi.set(e,{stream:t,isReportRemoved:r,removedVersion:n,items:i,list:c,answerOnlyCount:l}),c};var bR=(e,t,r)=>{let n=me(t,0);if(n===void 0)return null;let o=Rt(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=me(e,o+s);if(i!==void 0&&a.has(i.reportHubId))return i.reportHubId;let l=me(e,o-s);if(l!==void 0&&a.has(l.reportHubId))return l.reportHubId}}return n.reportHubId},Fd=(e,t,r,n)=>{if(r===null){let o=me(t,0);return n&&o!==void 0?o.reportHubId:null}return Rt(t,r)!==-1?r:bR(e,t,r)},SR=(e,t,r)=>e.selected===null?r!==null&&Rt(t,r)!==-1?r:null:Rt(t,e.selected)!==-1?e.selected:bR(e.items,t,e.selected);import{useEffect as ER,useLayoutEffect as iC,useMemo as TR,useRef as AR,useSyncExternalStore as lC}from"react";var tC=1e3,rC=5e3,nC={combine:"union",committed:null,filters:Pd,generation:0,status:"idle",failure:null,items:null,answered:null},oC=e=>e===400?"invalid":e===404?"unavailable":e===429?"busy":"failed",aC=(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))),Hd=(e,t)=>e.length===t.length&&e.every((r,n)=>r===t[n]),sC=(e,t)=>{let r=di(e),n=di(t);return Hd(r.authors,n.authors)&&Hd(r.sourceTypes,n.sourceTypes)&&Hd(r.customers,n.customers)},gR=e=>{let t=nC,r=new Set,n=null,o=null,a=null,s=null,i=null,l=null,d=g=>{t=g;for(let T of r)T()},c=()=>{s!==null&&clearTimeout(s),i!==null&&clearTimeout(i),s=null,i=null},p=(g,T)=>{let w=t.answered;return w!==null&&w.query.text===g.text&&w.query.combine===g.combine&&aC(w.words,T)?w:{query:{text:g.text,combine:g.combine},words:T}},u=g=>{let T=new URLSearchParams({[xe.searchQuery]:g.text,[xe.searchCombine]:g.combine});return nR(T,g.filters),`${e.apiBasePath}/${Fe.search}?${T.toString()}`},y=(g,T,w,C)=>{if(!w){d({...t,status:"failed",failure:g});return}l!==C&&(l=C,i=setTimeout(()=>{i=null,f(T,!0)},rC))},m=async(g,T,w)=>{let C=new AbortController;n={controller:C};let H={Accept:"application/json"};w&&a!==null&&a.generation===T&&(H["If-None-Match"]=a.value);try{let U=await e.fetch(u(g),{headers:H,cache:"no-store",signal:C.signal});if(C.signal.aborted||T!==t.generation)return;if(U.status===304){t.status!=="done"&&d({...t,status:"done",failure:null});return}if(U.status===401||U.status===403){e.onSessionExpired(),y("failed",g,!1,T);return}if(!U.ok){y(oC(U.status),g,w,T);return}let B=du(await U.json(),!Lr(g.text));if(C.signal.aborted||T!==t.generation)return;if(B===null){y("failed",g,w,T);return}let A=U.headers.get("ETag");a=A===null?null:{generation:T,value:A},l=null,d({...t,status:"done",failure:null,items:B.items,answered:B.words.length===0?null:p(g,B.words)})}catch{if(C.signal.aborted||T!==t.generation)return;y("failed",g,w,T)}finally{if(n!==null&&n.controller===C&&(n=null),n===null&&o!==null){let U=o;o=null,f(U.query,U.background)}}},f=(g,T)=>{if(n!==null){o={query:g,background:(o===null||o.background)&&T};return}m(g,t.generation,T)};return{getSnapshot:()=>t,subscribe:g=>(r.add(g),()=>{r.delete(g)}),commit:(g,T,w)=>{if(Lr(g)&&Wn(w))throw new Error("[daily-report] search: a blank text can be committed only with a filter");let C=li(w);if(C!==null)throw new Error(`[daily-report] search: the filter selection cannot be sent (${C})`);c();let H=t.committed,U=H!==null&&H.text===g&&H.combine===T&&sC(H.filters,w),B={text:g,combine:T,filters:w};d({...t,combine:T,committed:B,filters:w,generation:U?t.generation:t.generation+1,status:"searching",failure:null}),f(B,!1)},setCombine:g=>{g!==t.combine&&d({...t,combine:g})},release:()=>{c(),n?.controller.abort(),n=null,o=null,t.committed!==null&&d({combine:t.combine,committed:null,filters:Pd,generation:t.generation+1,status:"idle",failure:null,items:null,answered:null})},invalidate:()=>{let g=t.committed;g!==null&&(s!==null&&clearTimeout(s),s=setTimeout(()=>{s=null,f(g,!0)},tC))},dispose:()=>{c(),n?.controller.abort(),n=null,o=null}}};var DR=({apiBasePath:e,invalidation:t,onSessionExpired:r})=>{let n=AR(r);iC(()=>{n.current=r});let o=TR(()=>gR({apiBasePath:e,onSessionExpired:()=>n.current(),fetch:(i,l)=>fetch(i,l)}),[e]);ER(()=>()=>o.dispose(),[o]);let a=AR(t);ER(()=>{a.current!==t&&(a.current=t,o.invalidate())},[t,o]);let s=lC(o.subscribe,o.getSnapshot,o.getSnapshot);return TR(()=>({...s,commit:o.commit,setCombine:o.setCombine,release:o.release}),[s,o])};import{useCallback as wR,useEffect as dC,useLayoutEffect as cC,useMemo as Bd,useRef as uC,useState as pC}from"react";var xR=Object.freeze({status:"idle"}),mC=Object.freeze({status:"loading"}),fC=Object.freeze({sourceTypes:[],authors:[],customers:[]}),yC=e=>e===404?"unavailable":e===429?"busy":"failed",Vd=(e,t)=>e.length===t.length&&e.every((r,n)=>r===t[n]),hC=(e,t)=>Vd(e.sourceTypes,t.sourceTypes)&&Vd(e.authors,t.authors)&&Vd(e.customers,t.customers),RC=(e,t)=>"facets"in t?e.status!=="ready"||!hC(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},IR=(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})),bC=(e,t)=>e.map(r=>vR(r,t));function vR(e,t){let r=Zt(e,t);return{value:e,label:r===void 0?e:r.label}}var CR=({apiBasePath:e,locale:t,sourceTypeConfigs:r,onSessionExpired:n})=>{let[o,a]=pC({apiBasePath:e,load:xR}),s=o.apiBasePath===e?o.load:xR,i=uC(null),l=Be(()=>({apiBasePath:e,onSessionExpired:n}));cC(()=>{l.current={apiBasePath:e,onSessionExpired:n}}),dC(()=>()=>{i.current?.abort(),i.current=null},[e]);let d=wR(()=>{if(i.current!==null)return;let m=new AbortController;i.current=m;let f=l.current.apiBasePath;a(R=>R.apiBasePath===f&&R.load.status==="ready"?R:{apiBasePath:f,load:mC}),(async()=>{let R;try{let E=await fetch(`${f}/${Fe.searchFacets}`,{headers:{Accept:"application/json"},cache:"no-cache",signal:m.signal});if(m.signal.aborted)return;if(E.status===401||E.status===403)l.current.onSessionExpired(),R={failure:"failed"};else if(!E.ok)R={failure:yC(E.status)};else{let h=oR(await E.json());if(m.signal.aborted)return;R=h===null?{failure:"failed"}:{facets:h}}}catch{if(m.signal.aborted)return;R={failure:"failed"}}i.current=null,a(E=>({apiBasePath:f,load:RC(E.load,R)}))})()},[l]),c=s.status==="ready"?s.facets:fC,p=Bd(()=>{let m=new Intl.Collator(t);return{authors:IR(c.authors,m),sourceTypes:bC(c.sourceTypes,r),customers:IR(c.customers,m)}},[c,t,r]),u=wR((m,f)=>m==="sourceType"?vR(f,r):{value:f,label:f},[r]),y=Bd(()=>s.status==="ready"?{status:"ready",options:p,optionOf:u,reloadFailure:s.reloadFailure}:s,[s,p,u]);return Bd(()=>({state:y,load:d}),[y,d])};import{useEffect as MR,useLayoutEffect as wC,useMemo as xC,useRef as IC}from"react";var SC=4294967295,_R=e=>typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=SC,gC=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)||!to(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},EC=e=>{if(!(Xt(e)&&_R(e.fingerprint)))return null;if(Object.hasOwn(e,"dense"))return e.dense===!0&&!Object.hasOwn(e,"ranges")?{fingerprint:e.fingerprint,dense:!0}:null;let t=gC(e.ranges);return t===null?null:{fingerprint:e.fingerprint,ranges:t}},TC=e=>{if(!Xt(e))return null;let t={};for(let[r,n]of Object.entries(e)){if(!Tn(r))return null;let o=EC(n);if(o===null)return null;t[r]=o}return t},LR=(e,t)=>{if(!(Xt(e)&&_R(e.wordsDigest)&&Array.isArray(e.reports)&&Array.isArray(e.deferred)))return null;let r=new Set(t.requestedIds),n=new Set,o=2**t.setCount-1,a=[];for(let i of e.reports){if(!Xt(i))return null;let{reportHubId:l,matchedSets:d}=i;if(!(typeof l=="number"&&mt(l)&&r.has(l))||n.has(l)||(n.add(l),t.expectsMatchedSets?!(typeof d=="number"&&Number.isInteger(d)&&d>=0&&d<=o):d!==null))return null;let c=TC(i.fields);if(c===null)return null;a.push({reportHubId:l,matchedSets:d,fields:c})}if(a.length===0&&e.deferred.length>0)return null;let s=[];for(let i of e.deferred){if(!(typeof i=="number"&&mt(i)&&r.has(i))||n.has(i))return null;n.add(i),s.push(i)}return{wordsDigest:e.wordsDigest,reports:a,deferred:s}};var NR=2*eo*qt.maxDetailIds,AC=240,DC=6e4,OR=({apiBasePath:e,fetch:t,answered:r,onSessionExpired:n})=>{let o=r.words.length,a=r.query.combine==="union"&&o>=2,s=Pp(r.words),i=new Map,l=new Map,d=0,c=new Map,p=new Set,u=0,y=0,m=null,f=new Set,b=!1,R=I=>{let L=i.get(I);if(L!==void 0)return L;let M={entry:void 0,appliedSequence:0,settledEpoch:null,retriedEpoch:null,revalidated:new Set};return i.set(I,M),l.has(I)||(d+=1),M},E=I=>{for(let L of I){let M=i.get(L);M!==void 0&&(M.settledEpoch=null)}},h=()=>{if(!(d<=NR))for(let I of[...i.keys()]){if(d<=NR)return;l.has(I)||(i.delete(I),c.delete(I),d-=1)}},S=I=>{let L=l.get(I);if(L!==void 0)for(let M of[...L])M()},g=I=>{let L=new URLSearchParams({[xe.searchQuery]:r.query.text,[xe.searchCombine]:r.query.combine,[xe.reportIds]:I.join(",")});return`${e}/${Fe.searchMarks}?${L.toString()}`},T=(I,L)=>{for(let M of I){let O=R(M.reportHubId);O.appliedSequence>L||(O.appliedSequence=L,O.entry=M,i.delete(M.reportHubId),i.set(M.reportHubId,O),S(M.reportHubId))}h()},w=(I,L)=>{let M=[];for(let V of I){let F=i.get(V);F!==void 0&&F.retriedEpoch!==u&&M.push({id:V,record:F})}if(M.length===0)return;let D=setTimeout(()=>{p.delete(D);for(let{id:V,record:F}of M){let z=c.get(V);z===void 0||z.timer!==D||(c.delete(V),l.has(V)?(F.retriedEpoch=u,v.enqueue(V)):F.settledEpoch=null)}},L);p.add(D);for(let{id:V,record:F}of M)c.set(V,{timer:D,record:F})},C=I=>{for(let L of I)l.has(L)?v.enqueue(L):E([L])},H=async(I,L)=>{y+=1;let M=y,O=u;for(let z of I)R(z).settledEpoch=u,c.delete(z);h();let D;try{D=await t(g(I),{headers:{Accept:"application/json"},cache:"no-store",signal:L})}catch{return}if(D.status===401||D.status===403){n();return}if(D.status===429){let z=fa(D,DC);z!==null&&O===u&&w(I,z);return}if(!D.ok)return;let V;try{V=await D.json()}catch{return}let F=LR(V,{requestedIds:I,setCount:o,expectsMatchedSets:a});L.aborted||F===null||F.wordsDigest!==s||(T(F.reports,M),O===u&&C(F.deferred))},U=()=>{b=!0,queueMicrotask(()=>{b=!1}),m=setTimeout(B,AC)},B=()=>{if(m=null,f.size!==0){for(let I of f)v.enqueue(I);f.clear(),U()}},A=I=>{if(m!==null&&!b){f.add(I);return}v.enqueue(I),m===null&&U()},v=ma({hasListener:I=>l.has(I),batchSize:qt.maxDetailIds,inFlightBound:eo,send:H});return{indicator:Object.freeze({setCount:o,showsMatchedSets:a}),subscribe:(I,L)=>{let M=l.get(I);M===void 0&&(M=new Set,l.set(I,M),i.has(I)&&(d-=1)),M.add(L);let O=i.get(I),D=O!==void 0&&O.settledEpoch===u;return M.size===1&&!D&&!v.isWanted(I)&&!f.has(I)&&A(I),()=>{let V=l.get(I);V===void 0||!V.delete(L)||V.size>0||(l.delete(I),i.has(I)&&(d+=1),f.delete(I),E(v.release(I)),h())}},read:I=>{let L=i.get(I);return L===void 0?void 0:L.entry},revalidate:(I,L,M)=>{let O=R(I),D=`${L}\0${M}`;O.revalidated.has(D)||(O.revalidated.add(D),f.delete(I),v.enqueue(I))},advanceEpoch:()=>{u+=1;for(let I of p)clearTimeout(I);p.clear(),c.clear(),f.clear();for(let I of l.keys())v.enqueue(I)},dispose:()=>{for(let L of p)clearTimeout(L);p.clear();let I=[...c.keys(),...f];c.clear(),f.clear(),m!==null&&clearTimeout(m),m=null,E([...v.dispose(),...I])}}};var PR=({apiBasePath:e,answered:t,shownRevision:r,onSessionExpired:n})=>{let o=IC(n);wC(()=>{o.current=n});let a=xC(()=>t===null?null:OR({apiBasePath:e,answered:t,onSessionExpired:()=>o.current(),fetch:(i,l)=>fetch(i,l)}),[e,t]);MR(()=>{if(a!==null)return()=>a.dispose()},[a]);let s=Be(()=>({store:a,shownRevision:r}));return MR(()=>{let i=s.current;s.current={store:a,shownRevision:r},a!==null&&i.store===a&&i.shownRevision!==r&&a.advanceEpoch()},[s,a,r]),a};import{useSyncExternalStore as vC}from"react";var kR=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)})}},Ud=e=>vC(e.subscribe,e.get,e.get);import*as $o from"@radix-ui/react-switch";import*as HR from"react";import{jsx as FR}from"react/jsx-runtime";var fi=HR.forwardRef(({className:e,...t},r)=>FR($o.Root,{className:x(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${oc} ${sc} ${ee}`,e),...t,ref:r,children:FR($o.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${ac} ${ic}`})}));fi.displayName=$o.Root.displayName;import{Fragment as QC,jsx as ne,jsxs as Ct}from"react/jsx-runtime";var OC="list",MC=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},PC=()=>({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),kC=x(dc,Ec,"flex flex-wrap items-center gap-2"),FC=x("@container/views",ut),HC=x("mt-0",ut),BC=x("flex flex-1 items-center justify-center",sn),UR="relative h-4 w-4 p-0 after:absolute after:-inset-1",VC="flex items-center gap-2",UC=x(UR,"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"),WC=x(UR,"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"),WR=(e,t)=>{let r=Qs(t);return[e.totalCount(r),e.searchHitCount(r)]},KC=({count:e})=>{let{labels:t}=$(),[r,n]=nn(null),o=tR(e,r);return ne(Oo,{ref:n,text:t.totalCount(o),widestTexts:WR(t,Math.max(e,o))})},zC=({totalCount:e,hitCount:t})=>{let{labels:r}=$();return t!==null?ne(Oo,{text:r.searchHitCount(t),widestTexts:WR(r,e===Er?t:Math.max(e,t))}):e===Er?ne("span",{children:r.totalCountLoading}):ne(KC,{count:e})},$C=({checked:e,onCheckedChange:t})=>{let{labels:r}=$(),n=BR(),o=BR();return Ct("div",{className:"flex items-center gap-1 pl-1",children:[ne(fi,{id:n,checked:e,onCheckedChange:t,title:r.autoReadTitle,"aria-describedby":o}),ne(Co,{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})]})},jC=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let s=Ud(e);return ne(Ld,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:s,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},GC=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=Ud(e);return ne(fd,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},YC=({tabItems:e,actions:t,searchRow:r})=>{let[n,o]=nn(OC),{labels:a}=$();return Ct(ko,{value:n,onValueChange:s=>o(MC(s)),className:FC,children:[Ct("div",{className:x(uc,Tc,Ac[n]),children:[Ct("div",{className:kC,children:[ne(Fo,{"aria-label":a.viewTabList,className:"flex flex-wrap gap-1",...Om,children:e.map(({value:s,label:i})=>ne(Ho,{value:s,children:i},s))}),t]}),r]}),e.map(({value:s,content:i})=>ne(Hn,{value:s,tabStop:!1,className:HC,children:i},s))]})},qC=Object.freeze({items:null,generation:0,revision:0,change:"none",scrollRequest:null,restoreOnRelease:!0}),XC=(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}},ZC=({answer:e,hasAnswerOnlyItems:t})=>{let{phase:r,isRevalidating:n}=xn(),o=r==="complete"&&!n,a=Kn(null);return Wd(()=>{!(o&&t)||a.current===e||(a.current=e,go())},[o,t,e]),null},Kd=({userId:e})=>{let[t,r]=nn(!1),{labels:n,renderHeader:o,showDevControls:a,apiBasePath:s,onSessionExpired:i,search:l,locale:d,sourceTypeConfigs:c}=$(),{toggleSse:p,createReport:u,refetchData:y,clearCacheAndRefetch:m}=ze(),{isSseEnabled:f,items:b,searchInvalidation:R,isReportRemoved:E,removedVersion:h}=gs(),[S]=NC(),g=DR({apiBasePath:s,invalidation:R,onSessionExpired:i}),T=CR({apiBasePath:s,locale:d,sourceTypeConfigs:c,onSessionExpired:i}),w=l===null||g.committed===null?null:g.items,[C,H]=nn(qC);C.items!==w&&H(XC(C,w,g.generation));let U=yi(()=>w===null?null:hR(w),[w]),B=yi(()=>RR(U,b,E,h),[U,b,E,h]),A=B.items,v=gp(b.length,dm()),I=w===null?v:A.length,[L,M]=nn(0),[O]=nn(()=>({preSearchTopReportId:null})),D=yi(()=>({request:C.scrollRequest,slot:O}),[C.scrollRequest,O]),V=PR({apiBasePath:s,answered:w===null?null:g.answered,shownRevision:C.revision,onSessionExpired:i}),F=Kn(0),z=Be(PC),[j]=nn(()=>kR(Zi(A))),Q=Kn(null),Ce=Kn(A),Ee=Kn(C.revision);VR(()=>{if(Ee.current===C.revision)return;Ee.current=C.revision;let ie=Ce.current,ye=j.get(),_e=ye;C.change==="enter"?(Q.current={selected:ye,items:ie},_e=Fd(ie,A,ye,!0)):C.change==="start"||C.change==="update"?_e=Fd(ie,A,ye,C.change==="start"):C.change==="restore"&&Q.current!==null&&(_e=SR(Q.current,A,ye)),(C.change==="restore"||C.change==="release")&&(Q.current=null),_e!==ye&&j.set(_e)},[C,A,j]),VR(()=>{Ce.current=A},[A]);let De=Kn(!1);Wd(()=>{let ie=Zi(A);!De.current&&ie!==null&&(De.current=!0,j.get()===null&&j.set(ie))},[A,j]);let Ge=async()=>{await y()},Je=async()=>{await m()},nt=async()=>{let ye=S.get("businessDate")||Hc();g.committed!==null&&(H(Ye=>({...Ye,restoreOnRelease:!1})),M(Ye=>Ye+1),g.release());let _e=await u(ye);j.set(_e)};Wd(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let Y=ie=>{r(ie),localStorage.setItem("daily-report-auto-read",String(ie))},Ae=yi(()=>[{value:"list",label:n.tabList,content:ne(jC,{selectionStore:j,dailyReportItems:A,rowSetSize:I,autoMarkRead:t,userId:e,scrollOffsetRef:F})},{value:"tree",label:n.tabTree,content:ne("div",{className:BC,children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:ne(GC,{selectionStore:j,dailyReportItems:A,rowSetSize:I,userId:e,scrollRestoreRef:z})}],[A,I,t,e,n,j,z]);return Ct(QC,{children:[o({title:n.title,annotation:Ct("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[ne(Mo,{}),ne(zC,{totalCount:v,hitCount:w===null?null:I}),ne("span",{children:n.debounce(pn)})]})}),ne("div",{className:Jo,children:Ct("div",{className:ea,children:[w!==null&&ne(ZC,{answer:w,hasAnswerOnlyItems:B.hasAnswerOnlyItems}),ne(va.Provider,{value:w===null?"date":"ids",children:ne(bt.Provider,{value:V,children:ne(rl.Provider,{value:D,children:ne(YC,{tabItems:Ae,searchRow:l===null?null:ne(fR,{labels:n,debounceMs:l.debounceMs,search:g,shownCount:w===null?null:I,onCommit:g.commit,onCombineChange:g.setCombine,onRelease:g.release,clearSignal:L,filters:l.renderFilterSelect===null?null:{renderFilterSelect:l.renderFilterSelect,locale:d,facets:T}}),actions:Ct("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[Ct(or,{size:"sm",onClick:nt,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(CC,{className:"h-3 w-3"}),ne("span",{children:n.createReport})]}),a&&Ct("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(fi,{"aria-label":n.devSseToggle,title:n.devSseToggle,checked:f,onCheckedChange:p}),Ct("div",{className:VC,"data-testid":"dev-icon-buttons",children:[ne(or,{variant:"ghost",size:"icon",onClick:Ge,className:UC,title:n.devReload,"data-testid":"dev-reload-btn",children:ne(LC,{className:"size-3"})}),ne(or,{variant:"ghost",size:"icon",onClick:Je,className:WC,title:n.devClearCache,"data-testid":"dev-clear-cache-btn",children:ne(_C,{className:"size-3"})})]})]}),ne($C,{checked:t,onCheckedChange:Y})]})})})})})]})})]})};import{Fragment as zR,jsx as ve,jsxs as hi}from"react/jsx-runtime";var r_=x(ut,hr),n_=x("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",Nt,ee),o_=x("font-bold",$n),a_=x("font-medium",$n),s_=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),i_=({isFailed:e,handOver:t})=>{let{labels:r,renderHeader:n}=$(),o=$R(null),a=JC(i=>(o.current=i,t.take()&&Ur(i)&&rr([i]),()=>{o.current=null,i.contains(Ve(i))&&t.request()}),[t]),s=()=>{rr([o.current]),os()};return hi(zR,{children:[n({title:r.title,annotation:e?ve("span",{className:o_,children:r.loadErrorBadge}):hi("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[ve(Mo,{}),ve("span",{children:r.totalCountLoading}),ve("span",{children:r.debounce(pn)})]})}),ve("div",{className:Jo,children:ve("div",{className:ea,children:ve("div",{className:r_,children:ve("div",{ref:a,tabIndex:-1,...Pm,"data-testid":"daily-report-status-panel","data-phase":e?"failed":"loading",className:x(n_,e&&"border-red-200 dark:border-red-900"),children:e?hi(zR,{children:[ve("p",{className:a_,children:r.loadError}),ve("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:s,className:s_,children:r.reload})]}):ve("p",{children:r.loadingIds})})})})})]})},l_=()=>{let{labels:e}=$(),t=im();return ve(Js,{announcement:Sd(t,e),testId:"daily-report-stream-announcer"})},d_=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=$(),o=xn(),[a]=t_(sh),s=$R(n);e_(()=>{s.current=n}),KR(()=>{bo({apiBasePath:r,userKey:t??null})},[r,t]),KR(()=>{o.phase==="auth-required"&&s.current()},[o.phase]);let i=o.hasItems||o.phase==="complete";return hi(xl,{children:[ve(l_,{}),ve(bd.Provider,{value:!1,children:ve(cd.Provider,{value:a,children:ve(_l,{user:e,userId:t,children:i?ve(Kd,{userId:t}):ve(i_,{isFailed:o.phase==="failed",handOver:a})},t??"anonymous")})})]})},c_=({config:e,...t})=>ve(Ni,{config:e,children:ve(d_,{...t})});var u_=new Set(kp.filter(e=>e!=="clearCache")),p_=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:s,formMethod:i,json:l,nextUrl:d,text:c})=>{if(!n)return!1;if(!(r.pathname===d.pathname&&r.search===d.search&&r.hash===d.hash))return n;if(a){let y=a.get(st.intent);if(typeof y=="string"&&u_.has(y))return!1}return e!==void 0||t!==void 0||o!==void 0||a!==void 0||s!==void 0||i!==void 0||l!==void 0||c!==void 0?n:!1},m_=e=>{let t=async r=>{fl();let n=await r.serverLoader(),o=n.userId;return ml({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};export{Su as DAILY_REPORT_LABEL_CATALOGS,Ii as DAILY_REPORT_LABEL_KEYS,jo as DAILY_REPORT_LATTICE_BLOCK_QUANTUM_CLASS_NAME,yS as DAILY_REPORT_LAYOUT_LATTICE_PX,Md as DAILY_REPORT_SEARCH_FILTER_FACETS,_l as DailyReportActionProvider,jn as DailyReportAttachmentIndicator,Ni as DailyReportConfigProvider,fd as DailyReportDetailList,xl as DailyReportErrorProvider,Mo as DailyReportIdsStreamStatus,Ld as DailyReportList,c_ as DailyReportPage,Kd as DailyReportResolvedContent,ml as bootstrapDailyReportIdsStreamSession,m_ as createDailyReportClientLoader,p_ as dailyReportShouldRevalidate,no as defaultDailyReportClientConfig,bo as ensureDailyReportIdsStreamSession,fl as primeDailyReportIdsStreamSession,tm as readDailyReportIdsStreamRows,_i as resolveDailyReportLabels,Zt as resolveSourceTypeConfig,as as resyncDailyReportIdsStream,eT as useDailyReportActionContext,Xl as useDailyReportComments,$ as useDailyReportConfig,Vr as useDailyReportDetail,cE as useDailyReportIdsStream,Vi as useDailyReportPrefetch,El as useDailyReportSseConnection};
|