@aiquants/daily-report 0.48.0 → 0.49.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 +36 -0
- package/README.md +45 -24
- package/dist/client.d.mts +11 -3
- package/dist/client.d.ts +11 -3
- package/dist/client.js +5 -5
- package/dist/client.mjs +5 -5
- package/dist/server.js +1 -1
- package/dist/server.mjs +1 -1
- package/dist/styles/daily-report.standalone.css +1 -1
- package/package.json +1 -1
package/dist/client.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import QS from"lucide-react/dist/esm/icons/paperclip.js";var GS="data-daily-report-row-surface",_t={[GS]:"",role:"gridcell"},eu="data-daily-report-active",Pr="data-daily-report-scrolling",ur=8,YS=4,tu=ur-YS;var wa="[--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]",kr=`${wa} h-[calc-size(auto,round(up,size,var(--aqdr-lattice-block)))]`,Fr="p-[8px]",ru="pr-[8px]",Aa="contain-size contain-layout contain-style",nu="contain-strict",Jt="pointer-events-none absolute size-px whitespace-nowrap opacity-0 select-none contain-layout",le="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400";var ll="[--aqdr-text-quiet:oklch(44%_0.046_257.417)] dark:[--aqdr-text-quiet:oklch(77%_0.040_256.788)]",de=`${ll} text-(--aqdr-text-quiet)`,pr=`border-slate-500 dark:border-slate-500 ${ll} placeholder:text-(--aqdr-text-quiet)`,ou="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",dl="scrollbar-thin [scrollbar-gutter:stable]",cl=`-m-[4px] overflow-hidden p-[4px] ${dl}`,au="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",xa="rounded-[calc(var(--radius-2xl)+8px)]",va="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]",su="[: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",Lt="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",Ca=16,vn=`rounded-xl border border-dashed border-slate-300 bg-slate-50 p-[11px] ${de} text-sm dark:border-slate-600 dark:bg-slate-900/40`,iu=12,Ia="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200";var lu="min-h-24",du="flex h-6 items-center",_a="[--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",it=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${le}`,cu="-mx-1",uu="flex items-center gap-1",Je="inline-flex h-6 items-center rounded-full px-3",pu="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",mu=`${Je} shrink-0 whitespace-nowrap bg-blue-50 font-semibold text-blue-800 text-xs dark:bg-blue-500/15 dark:text-blue-200 forced-colors:border forced-colors:border-solid forced-colors:border-[CanvasText] forced-colors:text-[CanvasText]`,fu="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",Mr="size-4",et={starOff:`${Mr} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${Mr} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${Mr} text-blue-600 dark:text-blue-400 forced-colors:text-[CanvasText]`,delete:`${Mr} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400 forced-colors:text-[CanvasText]`,deletePending:`${Mr} text-red-600 dark:text-red-400 forced-colors:text-[CanvasText]`,edit:`${Mr} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`},yu="h-6 w-10 border-4 border-solid",Ru="size-4 data-[state=checked]:translate-x-4",hu="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]",bu="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var Su="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",gu="rounded-xl border border-solid p-[3px]",Eu=`relative inline-flex h-6 items-center justify-center whitespace-nowrap rounded-lg px-2 font-medium ${de} text-xs 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`,qS="supports-[margin-left:round(down,1px,1px)]:ml-[max(0px,round(down,calc((100%-72rem)/2),var(--aqdr-lattice-block)))]",XS="bg-slate-50 dark:bg-slate-950",Nt="flex min-h-0 flex-1 flex-col",La=`${Nt} ${XS}`,Na=`${Nt} mx-auto w-full max-w-6xl ${wa} px-[var(--aqdr-lattice-block)] pt-[var(--aqdr-lattice-block)] ${qS}`,Du=`relative z-[1] flex shrink-0 flex-col ${kr}`,Tu="flex grow flex-col justify-between",wu="grid min-w-0 grid-cols-[max-content_minmax(0,1fr)_max-content] grid-rows-[minmax(2rem,auto)_auto] items-end",Au="grid min-w-0 grid-cols-1 gap-2 sm:grid-cols-[minmax(0,2fr)_minmax(0,1fr)_minmax(0,3fr)]",xu="m-0 min-w-0 border-0 p-0",vu="mb-1 p-0 text-slate-700 text-xs leading-4 dark:text-slate-200",Cu="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-900 dark:text-yellow-50 forced-colors:forced-color-adjust-none forced-colors:bg-[Mark] forced-colors:text-[MarkText]",Eo="text-red-800 dark:text-red-300",Iu="bg-white dark:bg-slate-900",Oa=`min-h-0 flex-1 overflow-clip contain-size ${wa}`,Ma="flex h-full flex-col contain-size contain-layout contain-style",_u="relative inline-block whitespace-nowrap tabular-nums",Pa="invisible grid",Jr="col-start-1 row-start-1",Lu="absolute inset-0 contain-size contain-layout contain-style",ka=`[&_.aqvs-no-items-text]:py-4 ${ll} [&_.aqvs-no-items-text]:text-(--aqdr-text-quiet)`,Nu="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",Ou="ml-[8px]",Mu={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},en=`font-semibold ${de} text-xs uppercase tracking-wide`,mr=`m-0 ${en}`,fr="text-balance wrap-anywhere [word-break:auto-phrase]",Pu="[--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)]",Fa=`${Pu} [&_.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]`,Ha="[--aqvs-focus-ring-color:var(--color-blue-600)] dark:[--aqvs-focus-ring-color:var(--color-blue-400)]",ku=`${Pu} [scrollbar-color:var(--aqdr-scroll-bar-thumb)_var(--aqdr-scroll-bar-track)]`;import{jsx as Fu,jsxs as eg}from"react/jsx-runtime";var ZS=2,JS=`inline-flex h-6 shrink-0 items-center gap-1 ${de}`,ul=(e,t)=>`${e}: ${t}`,pl=e=>e>=ZS?String(e):null,Do=({id:e,count:t,label:r})=>{if(t<=0)return null;let n=ul(r,t),o=pl(t);return eg("span",{id:e,className:JS,title:n,role:"img","aria-label":n,"data-testid":"daily-report-attachment-indicator","data-attachment-count":t,children:[Fu(QS,{className:Mr,"aria-hidden":"true"}),o!==null&&Fu("span",{className:"font-semibold text-xs leading-4",children:o})]})};import{useCallback as Ye,useEffect as Dn,useLayoutEffect as db,useMemo as wc,useRef as gt,useState as Tn}from"react";var tn=Object.freeze({text:"",runs:Object.freeze([])}),Ot=e=>e.length===0?tn:{text:e,runs:[{displayStart:0,displayEnd:e.length,sourceStart:0,sourceEnd:e.length}]},Hu=(e,t,r)=>t>=r?tn:{text:e.slice(t,r),runs:[{displayStart:0,displayEnd:r-t,sourceStart:t,sourceEnd:r}]},ml=(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}))},fl=e=>e.displayEnd-e.displayStart===e.sourceEnd-e.sourceStart,To=(e,t,r)=>{if(t>=r)return tn;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(fl(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(...ml(a-t,s-t,o.sourceStart,o.sourceEnd))}return{text:e.text.slice(t,r),runs:n}},Cn=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?tn:{text:t,runs:r}},yl=e=>{let t=e.text.trimEnd().length,r=Math.min(t,e.text.length-e.text.trimStart().length);return To(e,r,t)},Hr=e=>typeof e=="string"?yl(Ot(e)):tn,Ba=(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 m=s;m<e.runs.length&&e.runs[m].displayStart<c;m++){let p=e.runs[m],f=Math.max(p.displayStart,d),y=Math.min(p.displayEnd,c);if(!(f>=y))if(fl(p)){let S=p.sourceStart+(f-p.displayStart);a.push({displayStart:f+u,displayEnd:y+u,sourceStart:S,sourceEnd:S+(y-f)})}else a.push(...ml(f+u,y+u,p.sourceStart,p.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?tn:{text:o,runs:a}},tg=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},rg=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},Bu=e=>{let t=e.normalize("NFC");if(t===e)return Ot(e);let r=tg(e),n=r.map(s=>s.shown).join("")===t?r:rg(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(...ml(a,d,s,i)),a=d}return{text:t,runs:o}},Uu=(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(fl(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},Vu=String.raw`<br\s*\/?\s*>`,Wu=String.raw`<\/p>`,zu="<[^>]+>",ng=new RegExp(String.raw`(${Vu}|${Wu}|\r?\n)|${zu}`,"gi"),Ku=new RegExp(Vu,"gi"),og=new RegExp(Wu,"gi"),ag=new RegExp(zu,"g"),$u=(e,t)=>{if(!e)return[];let r=[],n=[],o=0,a=()=>{let s=Cn(n);n=[];let i=yl({text:s.text.replace(/ /g," "),runs:s.runs});i.text.length>0&&r.push(i)};for(let s of e.matchAll(ng))if(n.push(Hu(e,o,s.index)),o=s.index+s[0].length,s[1]!==void 0&&(a(),r.length===t))return r;return n.push(Hu(e,o,e.length)),a(),r},ju=e=>Ba(Ba(Ba(Ot(e),Ku,`
|
|
2
|
-
`),
|
|
3
|
-
`),
|
|
4
|
-
`)):tn;var sg=Object.freeze({text:"-",runs:Object.freeze([])}),Ke=e=>{let t=Hr(e);return t.text===""?sg:t},Br=e=>Ke(e).text,Ne=e=>{if(!e)return"-";if(typeof e!="string")return e instanceof Date?Ne(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 xE,useCallback as vE,useContext as rm,useEffect as CE,useState as IE}from"react";import{z as Ol}from"zod/v3";var ig=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var Ua=e=>e<10?`0${e}`:`${e}`,lg=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=Ua(e.getMonth()+1),n=Ua(e.getDate());return`${t}-${r}-${n}`},Yu=e=>{let t=ig.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}`},wo=e=>Yu(e)===e,qu=(e=new Date)=>{if(Number.isNaN(e.getTime()))throw new Error("[daily-report] resolveTodayBusinessDateKey needs a valid Date");return`${e.getFullYear()}-${Ua(e.getMonth()+1)}-${Ua(e.getDate())}`},Ao=e=>e==null?null:e instanceof Date?lg(e):Yu(e);import{z as dg}from"zod/v3";var Mt=e=>Number.isSafeInteger(e)&&e>0,qe=dg.number().int().positive().max(Number.MAX_SAFE_INTEGER);import{z as be}from"zod/v3";var Va=/^(?:[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 xo=/^[0-9a-f]{64}$/u,Xu=e=>e.isRead?{isRead:!0,readContentDigest:e.contentDigest}:{isRead:!1,readContentDigest:null},In=(e,t)=>e==="read"?{isRead:!1}:{isRead:!0,contentDigest:t},Qu=e=>typeof e=="string"&&xo.test(e),yr=(e,t)=>e.isRead?e.readContentDigest===null||e.readContentDigest===e.contentDigest||typeof t=="string"&&t!==""&&e.userId===t?"read":"updatedSinceRead":"unread";var rn=Symbol("daily-report wire mismatch"),Pt=(e,t,r)=>(e.issues.push({...r,path:t===null?[...e.path]:[...e.path,t]}),rn),tp=e=>e===null?"null":Array.isArray(e)?"array":Number.isNaN(e)?"nan":typeof e,Ur=(e,t)=>({code:"invalid_type",expected:e,received:tp(t)}),cg=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),ug=e=>{let t=0;for(let r in e)t+=1;return t},Zu=(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},_n=e=>{let t=Object.keys(e),r=Object.values(e);return(n,o)=>{if(!cg(n))return Pt(o,null,Ur("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 u=r[l](c,o,d);if(u===rn){s=!0;continue}a===null&&u!==c&&(a=Zu(n,t,l)),a!==null&&(u!==void 0||d in n)&&(a[d]=u)}return s?rn:a!==null?a:ug(n)===i?n:Zu(n,t,t.length)}},vo=e=>(t,r,n)=>{r.path.push(n);let o=e(t,r);return r.path.pop(),o},Co=e=>(t,r,n)=>{if(!Array.isArray(t))return Pt(r,n,Ur("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===rn?a=!0:l!==i&&(o===t&&(o=t.slice()),o[s]=l)}return r.path.pop(),a?rn:o},ve=(e,t,r)=>e==null||typeof e=="string"?e:Pt(t,r,Ur("string",e)),Ju=(e,t,r)=>e===null||typeof e=="string"?e:Pt(t,r,Ur("string",e)),ep=(e,t,r)=>typeof e=="string"?e:Pt(t,r,Ur("string",e)),pg=(e,t,r)=>e===null||typeof e=="number"&&!Number.isNaN(e)?e:Pt(t,r,Ur("number",e)),Io=(e,t,r)=>typeof e=="boolean"?e:Pt(t,r,Ur("boolean",e)),rp=(e,t,r)=>typeof e!="string"?Pt(t,r,Ur("string",e)):Qu(e)?e:Pt(t,r,{code:"invalid_string",validation:"regex",message:"a content digest is 64 lowercase hex digits"}),mg=(e,t,r)=>e===null?null:rp(e,t,r),Rl=(e,t,r)=>{if(typeof e=="number"&&Mt(e))return e;for(let{message:n,path:o,...a}of qe.safeParse(e).error.issues)Pt(t,r,a);return rn},np={present:!0,absent:!0,unknown:!0},op=Object.keys(np),fg=op.map(e=>`'${e}'`).join(" | "),yg=(e,t,r)=>typeof e!="string"?Pt(t,r,{code:"invalid_type",expected:fg,received:tp(e)}):Object.hasOwn(np,e)?e:Pt(t,r,{code:"invalid_enum_value",received:e,options:[...op]}),ap=_n({name:ve,affiliation:ve}),sp=_n({name:ve,text:ve,color:ve}),ip=_n({id:Rl,name:ve,color:ve}),lp=_n({id:Rl,userId:ve,userName:ve,content:ve,createdAt:ve,isMine:Io}),Rg=_n({id:ep,fileName:ep,fileType:Ju,fileSize:pg,createdAt:Ju,state:yg,hasThumbnail:Io}),hg=_n({reportHubId:Rl,date:ve,createdAt:ve,author:ve,userId:ve,sourceType:ve,employeeName:ve,updatedBy:ve,updatedAt:ve,category:ve,creationCategory:ve,visitTimeFrom:ve,visitTimeTo:ve,customerName:ve,interviewers:Co(vo(ap)),subject:ve,content:ve,externalComments:Co(vo(sp)),isRead:Io,isStarred:Io,contentDigest:rp,readContentDigest:mg,isDraft:Io,labels:Co(vo(ip)),postedComments:Co(vo(lp)),attachments:Co(vo(Rg))}),_o=(e,t)=>{let r={path:[],issues:[]},n=e(t,r);return n===rn?{ok:!1,issues:r.issues}:{ok:!0,value:n}},dp=e=>_o(hg,e),cp=e=>_o(ap,e),up=e=>_o(sp,e),pp=e=>_o(ip,e),mp=e=>_o(lp,e);var fp=["auth-required","forbidden","resync-required"],hl=15e3,yp="lastEventId",bg=/^\d{1,15}-\d{1,15}$/,Wa=e=>bg.test(e);var Lo=e=>be.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 be.NEVER}),LO=Lo(cp),NO=Lo(up),OO=Lo(pp),bl=Lo(mp),Rr=Lo(dp),No=be.string().regex(Va),Rp=be.object({type:be.literal("connected")}),hp=be.object({type:be.literal("status-update"),reportHubId:qe,statusType:be.enum(["star","read"]),value:be.boolean(),readContentDigest:be.string().regex(xo).nullable(),clientTempId:No}),Sl=be.string(),bp=be.object({type:be.literal("comment-add"),reportHubId:qe,comment:bl,clientTempId:No,sourceType:Sl}),Sp=be.object({type:be.literal("comment-delete"),reportHubId:qe,commentId:qe,clientTempId:No,sourceType:Sl}),za={recipientRawUserId:qe.optional()},Sg=hp.extend(za),gg=bp.extend(za),Eg=Sp.extend(za),Ln={reportHubId:qe,report:Rr,clientTempId:No},gl={...za,actorRawUserId:qe},El={viewerIsActor:be.boolean()},Dg=be.object({type:be.literal("report-create"),...Ln,...El}),Tg=be.object({type:be.literal("report-update"),...Ln,...El}),wg=be.object({type:be.literal("report-publish"),...Ln,...El}),Ag=be.object({type:be.literal("report-create"),...Ln,...gl}),xg=be.object({type:be.literal("report-update"),...Ln,...gl}),vg=be.object({type:be.literal("report-publish"),...Ln,...gl}),gp=be.object({type:be.literal("report-delete"),reportHubId:qe,clientTempId:No,sourceType:Sl}),Ep=be.discriminatedUnion("type",[Rp,hp,bp,Sp,Dg,Tg,wg,gp]),MO=be.discriminatedUnion("type",[Rp,Sg,gg,Eg,Ag,xg,vg,gp]);var Ka="ids-columns",Dl=e=>{if(typeof e!="object"||e===null)return"unknown";let{kind:t}=e;return t==="chunk"?"chunk":t==="error"?"error":"unknown"},Cg=e=>typeof e=="number"&&Mt(e),Ig=e=>{if(typeof e!="object"||e===null)return!1;let{businessDate:t,reportHubId:r}=e;return(t===null||typeof t=="string")&&typeof r=="number"},_g=4,Lg=e=>{let t=_g;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}}},Ng=/^[0-9a-f]{1,16}$/,Og=e=>Mt(e.reportHubId)&&(e.businessDate===null||wo(e.businessDate)),Mg=e=>typeof e=="string"&&Ng.test(e),Pg=Object.freeze({kind:"absent"}),kg=Object.freeze({kind:"value",value:null}),Fg=e=>e===void 0?Pg:e===null?kg:typeof e=="string"&&Wa(e)?{kind:"value",value:e}:{kind:"malformed",received:e},Dp=e=>{if(Dl(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:u,streamAnchor:m}=e;if(typeof s!="boolean"||!(i===null||Ig(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 h of o)if(!(h===null||typeof h=="string"))return null;let p=Lg(t.length),f=0,y=null,S=0;for(let h=0;h<r.length;h++){let D=r[h],g=n[h];if(!(D===null||typeof D=="string"&&wo(D))||h>0&&D===r[h-1]||typeof g!="number"||!Number.isSafeInteger(g)||g<1)return null;let R=f+g;if(R>t.length)return null;for(;f<R;f++){let b=t[f],E=a[f];if(!(Cg(b)&&p(b))||typeof E!="number"||!Number.isSafeInteger(E)||E<0||E>=o.length||f>0&&!Hg(y,S,D,b))return null;y=D,S=b}}return f!==t.length?null:{rows:e,isLast:s,resumeCursor:i!==null&&Og(i)?i:null,total:typeof l=="number"&&Number.isSafeInteger(l)&&l>=0?l:null,snapshot:Mg(d)?d:null,provisional:c===!0,restarted:u===!0,streamAnchor:Fg(m)}},Tp=(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 wp=(e,t,r,n)=>e!==r?e===null?1:r===null||e>r?-1:1:n-t,Hg=(e,t,r,n)=>wp(e,t,r,n)<0,Ap=(e,t)=>wp(e.businessDate,e.reportHubId,t.businessDate,t.reportHubId);var $e=Object.freeze({businessDate:"business-date",idsStream:Ka,report:"report",search:"search",reports:"reports",searchMarks:"search-marks",searchFacets:"search-facets",action:"action"}),Ue=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 xp=(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)}}},WO=Object.freeze(["API","Action","Attachment","ExternalSource","Isolation","Reads","Refresh","Search","SSE","SseReader","Server","Service","Streams","Visibility","ActionProvider","DetailLoader","IdsStream","SseConnection"]),vp=e=>`[DailyReport${e}]`,kt=(e,t,r)=>e===void 0?xp(t,vp(r)):xp(0,vp(r),e);import{z as Ft}from"zod/v3";var Bg=Ft.discriminatedUnion("outcome",[Ft.object({reportHubId:qe,outcome:Ft.literal("ok"),report:Rr}).strict(),Ft.object({reportHubId:qe,outcome:Ft.literal("not_found")}).strict(),Ft.object({reportHubId:qe,outcome:Ft.literal("failed")}).strict()]),Cp=e=>Ft.object({outcomes:Ft.array(Bg)}).strict().superRefine(({outcomes:t},r)=>{t.length!==e.length&&r.addIssue({code:Ft.ZodIssueCode.custom,path:["outcomes"],message:"must hold one outcome per requested id"}),t.forEach((n,o)=>{n.reportHubId!==e[o]&&r.addIssue({code:Ft.ZodIssueCode.custom,path:["outcomes",o,"reportHubId"],message:"must be the requested id at this position"}),n.outcome==="ok"&&n.report.reportHubId!==n.reportHubId&&r.addIssue({code:Ft.ZodIssueCode.custom,path:["outcomes",o,"report","reportHubId"],message:"must be the outcome's id"})})});var hr=Object.freeze({maxQueryLength:500,maxSets:16,maxWordsPerSet:16,maxWords:32,maxWordLength:100,maxDetailIds:100}),Ug=2,Oo=2,Nn=Object.freeze({word:0,reading:1}),Mo=e=>e===Nn.word||e===Nn.reading;var br=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},Vg=2*(1+Ug),Wg=e=>{if(!Array.isArray(e)||e.length===0||e.length>Vg)return null;let t=[],r=new Set;for(let n of e){if(!br(n))return null;let{text:o,tier:a}=n;if(typeof o!="string"||o.length===0||o.length>hr.maxWordLength||r.has(o)||!Mo(a)||(t.length===0?a!==Nn.word:a<t[t.length-1].tier))return null;r.add(o),t.push({text:o,tier:a})}return t},zg=(e,t)=>{if(!Array.isArray(e))return null;if(!t)return e.length===0?[]:null;if(e.length===0||e.length>hr.maxSets)return null;let r=[],n=0;for(let o of e){if(!Array.isArray(o)||o.length===0||o.length>hr.maxWordsPerSet||(n+=o.length,n>hr.maxWords))return null;let a=[];for(let s of o){let i=Wg(s);if(i===null)return null;a.push(i)}r.push(a)}return r},Ip=(e,t)=>{if(!br(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=zg(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"||!wo(d))||typeof c!="string"||c.length===0)return null;s.push({reportHubId:l,businessDate:d,sourceType:c})}return{items:s,words:a}};var $a=e=>e.issues.map(t=>`${t.path.length===0?"(root)":t.path.join(".")}: ${t.code}`).join("; ");var Kg=e=>typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"||e===null||e===void 0?String(e):Array.isArray(e)?"array":typeof e,Me=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${Kg(r)}`),_p=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),Po=(e,t,r)=>Me(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t),ut=(e,t,r,n)=>{if(typeof t=="number"&&Number.isSafeInteger(t)&&t>=r&&(n===void 0||t<=n))return t;throw Me(e,n===void 0?`an integer >= ${r}`:`an integer from ${r} to ${n}`,t)};var ja=({hasListener:e,batchSize:t,inFlightBound:r,send:n})=>{ut("createIdBatchScheduler: batchSize",t,1),ut("createIdBatchScheduler: inFlightBound",r,1);let o=new Set,a=new Map,s=!1,i=()=>{let c=[],u=[...o];for(let m=u.length-1;m>=0&&c.length<t;m--){let p=u[m];o.delete(p),e(p)&&c.push(p)}return c.reverse()},l=c=>{let u=new AbortController;a.set(u,c);let m=()=>{a.delete(u),d()},p=f=>{m(),u.signal.aborted&&f===u.signal.reason||globalThis.reportError(f)};n(c,u.signal).then(m,p)},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[m,p]of a)m.signal.aborted||!p.includes(c)||p.some(e)||(m.abort(),u.push(...p));return u},dispose:()=>{let c=[...o];o.clear();for(let[u,m]of a)u.signal.aborted||(u.abort(),c.push(...m));return c}}};var $g=/^[1-9][0-9]*$/,jg=/^(?:0|[1-9][0-9]*)$/,Lp=e=>{if(e===null||!$g.test(e))return null;let t=Number(e);return Mt(t)?t:null},On=e=>{if(e===null||!jg.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null};var Gg=2**31-1,Ga=(e,t)=>{let r=ut("holdDelayMsOf: maxDelayMs",t,0,Gg),n=On(e.headers.get("Retry-After"));if(n===null)return null;let o=n*1e3;return o<=r?o:null};var Np={request:e=>requestAnimationFrame(e),cancel:e=>cancelAnimationFrame(e)},Op=({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 iE}from"@aiquants/virtualscroll";import{createContext as lE,useMemo as dE}from"react";import{useContext as Yg}from"react";var Gt=(e,t,r)=>{let n=Yg(e);if(n===null)throw new Error(`[daily-report] ${t} must be used within a ${r}`);return n};import{resolveVirtualScrollLabels as qg,resolveVirtualScrollLocale as Xg,VIRTUAL_SCROLL_LABEL_CATALOGS as Mp,VIRTUAL_SCROLL_LABEL_KEYS as Al}from"@aiquants/virtualscroll";var Fp=["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","markUpdateRead","updatedSinceRead","deleteReport","edit","resizeHandle","resizeHandleHint","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"],Hp=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","noticeRepeated","rowState","rowEditingState","listRowPosition","listRowPositionInUnknownTotal","searchHitCount","searchFailed","searchMatchedKeywords","searchMatchedKeywordsDescription","searchFieldMatched","searchFieldMatchedByReading","searchFiltersToggle","searchFiltersFailed"],Tl=[...Al,...Fp,...Hp];var Pp=Object.freeze({en:"en-US",ja:"ja-JP"}),Qg=Object.freeze({en:new Intl.NumberFormat(Pp.en),ja:new Intl.NumberFormat(Pp.ja)}),Ce=(e,t)=>Qg[e].format(t),Zg=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"}),Jg=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"}),eE=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"}),tE=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"}),rE=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"}),nE=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"}),oE={unread:"Unread",read:"Read",updatedSinceRead:"Read, updated since"},aE={unread:"\u672A\u8AAD",read:"\u65E2\u8AAD",updatedSinceRead:"\u65E2\u8AAD\u5F8C\u306B\u66F4\u65B0\u3042\u308A"},wl=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",markUpdateRead:"Mark the update as read",updatedSinceRead:"Updated",deleteReport:"Delete",edit:"Edit",resizeHandle:"Resize the border between the report list and the detail pane",resizeHandleHint:"Drag or use the arrow keys to resize, or click to step through the preset widths",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",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: ${Ce("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${Ce("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${Ce("en",e)} / ${Ce("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${Ce("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${Ce("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${Ce("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${Jg[e]}. Please try again later.`,noticeRepeated:e=>`(${Ce("en",e)} times)`,rowState:({readState:e,isStarred:t})=>`${oE[e]}${t?", starred":""}`,rowEditingState:({isDraft:e})=>e?"Editing draft":"Editing",listRowPosition:(e,t)=>`${Ce("en",e)} of ${Ce("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${Ce("en",e)}`,searchHitCount:e=>`${Ce("en",e)} ${e===1?"hit":"hits"}`,searchFailed:e=>tE[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 (${Ce("en",e)})`,searchFiltersFailed:e=>nE[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",markUpdateRead:"\u66F4\u65B0\u3092\u65E2\u8AAD\u306B\u3059\u308B",updatedSinceRead:"\u66F4\u65B0\u3042\u308A",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",resizeHandleHint:"\u30C9\u30E9\u30C3\u30B0\u304B\u77E2\u5370\u30AD\u30FC\u3067\u5E45\u3092\u5909\u3048\u3001\u30AF\u30EA\u30C3\u30AF\u3067\u6C7A\u307E\u3063\u305F\u5E45\u3092\u9806\u306B\u5207\u308A\u66FF\u3048\u308B",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:"\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: ${Ce("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${Ce("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${Ce("ja",e)} / ${Ce("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${Ce("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${Ce("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${Ce("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${Zg[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=>`(${Ce("ja",e)} \u56DE\u76EE)`,rowState:({readState:e,isStarred:t})=>`${aE[e]}${t?"\u3001\u30B9\u30BF\u30FC\u4ED8\u304D":""}`,rowEditingState:({isDraft:e})=>e?"\u4E0B\u66F8\u304D\u3092\u7DE8\u96C6\u4E2D":"\u7DE8\u96C6\u4E2D",listRowPosition:(e,t)=>`\u5168 ${Ce("ja",t)} \u4EF6\u4E2D ${Ce("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${Ce("ja",e)} \u4EF6\u76EE`,searchHitCount:e=>`${Ce("ja",e)} \u4EF6\u30D2\u30C3\u30C8`,searchFailed:e=>eE[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 (${Ce("ja",e)})`,searchFiltersFailed:e=>rE[e]})}),Bp=Object.freeze({en:Object.freeze({...Mp.en,...wl.en}),ja:Object.freeze({...Mp.ja,...wl.ja})}),sE=e=>{let t={},r=!1;for(let n of Al){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},kp=(e,t,r)=>{e[t]=r},xl=(e,t)=>{let r=Xg(e);if(t===void 0)return Bp[r];if(t===null||typeof t!="object")throw Me("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Me("labels","a plain object (prototype Object.prototype or null)",t);for(let s of Object.keys(t))if(!Tl.includes(s))throw Po("labels key",s,Tl);let a={...qg(r,sE(t)),...wl[r]};for(let s of Fp){let i=Object.hasOwn(t,s)?t[s]:void 0;if(i!==void 0){if(typeof i!="string"||i.trim()==="")throw Me(`labels.${s}`,"a non-blank string",i);kp(a,s,i)}}for(let s of Hp){let i=Object.hasOwn(t,s)?t[s]:void 0;if(i!==void 0){if(typeof i!="function")throw Me(`labels.${s}`,"a function",i);kp(a,s,i)}}return Object.freeze(a)},Up=e=>{let t={};for(let r of Al)t[r]=e[r];return Object.freeze(t)};import{jsx as vl,jsxs as EE}from"react/jsx-runtime";var cE=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-900 dark:bg-emerald-900/30 dark:text-emerald-400"}}),uE=`${de} text-xs`,pE=({title:e,annotation:t})=>EE("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[vl("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?vl("span",{className:uE,children:t}):null]}),ko=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",renderHeader:pE,showDevControls:!1,headingLevel:3}),Vp=["apiBasePath","ssePath","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired","search"];var mE=e=>{for(let t of Object.keys(e))if(!Vp.includes(t))throw Po("config key",t,Vp)},Wp=[2,3,4,5],fE=e=>{if(e===void 0)return ko.headingLevel;let t=Wp.find(r=>r===e);if(t===void 0)throw Me("config.headingLevel",`one of ${Wp.join(", ")} (the level of each report's heading)`,e);return t},zp=["debounceMs","renderFilterSelect"],yE=Object.freeze({min:300,max:5e3}),RE=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},hE=e=>{if(e===void 0)return null;if(typeof e!="function")throw Me("config.search.renderFilterSelect","a function (it renders the control of each filter cell)",e);return e},bE=e=>{if(e===void 0)return null;if(!RE(e))throw Me("config.search","a plain object ({} for Enter only, or { debounceMs })",e);for(let o of Object.keys(e))if(!zp.includes(o))throw Po("config.search key",o,zp);let t=e.debounceMs,{min:r,max:n}=yE;return{debounceMs:t===void 0?null:ut("config.search.debounceMs",t,r,n),renderFilterSelect:hE(e.renderFilterSelect)}},SE=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Me(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},gE=e=>{mE(e);let t=e.onSessionExpired;if(t===void 0)throw _p("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Me("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=iE(e.locale),n=xl(r,e.labels),o=ko;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?cE(n):SE(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:fE(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired,search:bE(e.search)}},Kp=lE(null),Cl=({config:e,children:t})=>{let r=dE(()=>gE(e),[e]);return vl(Kp.Provider,{value:r,children:t})},q=()=>Gt(Kp,"useDailyReportConfig","DailyReportConfigProvider"),Sr=(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 TE}from"@aiquants/virtualscroll";var DE=4;var Mn=120,$p=1e3,qa=.8,Il={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},Xa=20,_l=24,Pn=8,Ho=_l+Pn,jp=6,Qa={reportHubId:-1,businessDate:null},Za=240,Ja=15,wE=8,Gp=460,Yp=3,qp=440,Xp=8,AE={enabled:!0,renderVisual:TE,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},es={width:wE,tapScrollCircleOptions:AE,enableArrowButtonTabStops:!1},ts=["pen","touch"];var Pl=kt(void 0,1,"DetailLoader"),Qp=(e,t)=>{let r=globalThis[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},Ll=null,os=()=>(Ll===null&&(Ll={ttl:Qp("__DAILY_REPORT_CACHE_TTL__",3e5),reviveMs:Qp("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4)}),Ll),se={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=>{se.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=Ao(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()){Pl.warn(`Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+os().reviveMs))}},delete(e,t){this.reports.delete(e);let r=Ao(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+os().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}},nm=(e,t,r=!0)=>se.set(e,t,r),ht=(e,t)=>se.getReport(e,t?.ignoreExpiry),Ht=(e,t)=>se.update(e,t),is=(e,t)=>se.delete(e,t),Uo=()=>{se.clear(),rs.clear(),BE()},as=(e,t)=>{let r=se.lastMutations.get(e);(r===void 0||r<t)&&se.lastMutations.set(e,t)},kl=e=>{as(e,Date.now())},om=e=>{let t=Symbol("mutation-lock"),r=se.lockHolders.get(e);return r===void 0?se.lockHolders.set(e,new Set([t])):r.add(t),as(e,Date.now()),()=>{let n=se.lockHolders.get(e);n===void 0||!n.delete(t)||(n.size===0&&se.lockHolders.delete(e),as(e,Date.now()))}},am=(e,t)=>{let r=performance.now()+t,n=se.lockHolds.get(e);(n===void 0||n<r)&&se.lockHolds.set(e,r),as(e,Date.now()+t)},sm=e=>se.recentDeletes.set(e,Date.now()),im=(e,t)=>{let r=n=>{n===e&&t()};return se.listeners.add(r),()=>{se.listeners.delete(r)}},gr=(e,t)=>{se.prune(),se.set(t,Date.now()+os().ttl)},lm=e=>{se.prune();let t=se.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}));se.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,readContentDigest:t?.readContentDigest??null,postedComments:n},Date.now()+os().ttl)},_E=Ol.object({report:Rr}),LE=Ol.object({reports:Ol.array(Rr)}),ss=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportReadHttpError",this.status=r}},dm=(e,t)=>new ss(e,t),Zp=e=>e instanceof ss&&(e.status===401||e.status===403),NE=e=>new Error(`[daily-report] ${$e.reports} answered the outcome failed for report ${e}`),Fl=async(e,t,r)=>{if(!e.ok)throw dm(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 (${$a(n.error)})`);return n.data},OE=async(e,t)=>{let r=se.getReport(t);if(r)return r;let n=se.pendingReports.get(t);if(n)return n;let o=Date.now(),a=new URLSearchParams({[Ue.reportHubId]:String(t)}),s=fetch(`${e}/${$e.report}?${a}`,{cache:"no-cache"}).then(i=>Fl(i,_E,$e.report)).then(({report:i})=>se.cacheMany([i],null,o)[0]).finally(()=>se.pendingReports.delete(t));return se.pendingReports.set(t,s),s},rs=new Map,ME=1e4,PE=(e,t)=>{let r=rs.get(t),n=Date.now();if(r&&n-r.at<ME)return r.inFlight;let o=Hl(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return rs.set(t,a),o.finally(()=>{rs.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},Hl=async(e,t,r={})=>{let n=r.forceRefresh?null:se.getList(t);if(n)return n;let o=se.pendingLists.get(t);if(o)return o;let a=Date.now(),s=new URLSearchParams({[Ue.businessDate]:t}),i=fetch(`${e}/${$e.businessDate}?${s}`,{cache:"no-cache"}).then(l=>Fl(l,LE,$e.businessDate)).then(({reports:l})=>se.cacheMany(l,t,a)).finally(()=>se.pendingLists.delete(t));return se.pendingLists.set(t,i),i},kE=async(e,t,r)=>{let n=se.getList(r)!==null,a=(await Hl(e,r)).find(i=>i.reportHubId===t);if(a!==void 0)return a;if(!n)return null;let s=await PE(e,r);return s===null?null:s.find(i=>i.reportHubId===t)??null},FE=5e3,Ml=new Map,HE=e=>{let t=new Map,r=new Map,n=new Map,o=new Set,a=(p,f)=>{let y=[];for(let S of p)r.get(S)===f&&(r.delete(S),y.push(S));return y},s=(p,f)=>{let y=t.get(p);if(y!==void 0){t.delete(p),o.delete(p);for(let S of y)f(S)}},i=(p,f)=>{let S=setTimeout(()=>{for(let h of p)n.delete(h),t.has(h)&&(o.add(h),u.enqueue(h))},f);for(let h of p)n.set(h,S)},l=(p,f,y)=>{let S=[];for(let h of p)f!==null&&t.has(h)&&!o.has(h)?S.push(h):s(h,D=>D.reject(y));f!==null&&S.length>0&&i(S,f)},d=(p,f)=>{let y=[];for(let D of p)D.outcome==="ok"&&y.push(D.report);let S=se.cacheMany(y,null,f),h=0;for(let{reportHubId:D,outcome:g}of p){if(r.delete(D),g==="failed"){let b=NE(D);s(D,E=>E.reject(b));continue}let R=g==="ok"?S[h++]:null;s(D,b=>b.resolve(R))}},c=async(p,f)=>{for(let h of p)r.set(h,f);let y=Date.now(),S=new URLSearchParams({[Ue.reportIds]:p.join(",")});try{let h=await fetch(`${e}/${$e.reports}?${S}`,{cache:"no-cache",signal:f});if(h.status===429){l(a(p,f),Ga(h,FE),dm($e.reports,h.status));return}let{outcomes:D}=await Fl(h,Cp(p),$e.reports);if(f.aborted)return;d(D,y)}catch(h){for(let D of a(p,f))s(D,g=>g.reject(h))}},u=ja({hasListener:p=>t.has(p),batchSize:hr.maxDetailIds,inFlightBound:Oo,send:c}),m=Op({frames:Np,handOn:p=>{for(let f of p)u.enqueue(f)}});return{readers:t,pending:r,holds:n,retried:o,gate:m,scheduler:u}},BE=()=>{for(let{readers:e,pending:t,holds:r,retried:n,gate:o,scheduler:a}of Ml.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)}},Jp=new DOMException("The detail reader left its batched read","AbortError"),UE=(e,t,r)=>new Promise((n,o)=>{let a=Ml.get(e);a===void 0&&(a=HE(e),Ml.set(e,a));let{readers:s,pending:i,holds:l,retried:d,gate:c,scheduler:u}=a,m={resolve:n,reject:o},p=s.get(t);p===void 0?s.set(t,new Set([m])):p.add(m),c.holds(t)||u.isWanted(t)||i.has(t)||l.has(t)||c.enter(t);let f=()=>{let y=s.get(t);if(!(y===void 0||!y.delete(m))&&(o(r.reason),!(y.size>0))){s.delete(t),d.delete(t),c.leave(t);for(let S of u.release(t))i.delete(S)}};r.addEventListener("abort",f,{once:!0})}),kn=xE("date"),VE=Object.freeze({report:null,error:null,isLoading:!1,isRefetching:!1}),WE=Object.freeze({report:null,error:new Error("Invalid ID"),isLoading:!1,isRefetching:!1}),zE=Object.freeze({report:null,error:null,isLoading:!0,isRefetching:!1}),em=new WeakMap,KE=e=>{let t=em.get(e);if(t!==void 0)return t;let r=Object.freeze({report:e,error:null,isLoading:!1,isRefetching:!1});return em.set(e,r),r},ns=(e,t,r)=>{let n=e.reports.get(t);if(n!==void 0)return{report:n.data,isStale:!e.isValid(n.expiresAt)};if(r===null)return{report:null,isStale:!1};let o=e.lists.get(r),a=o?.data.find(s=>s.reportHubId===t);return o===void 0||a===void 0?{report:null,isStale:!1}:{report:a,isStale:!e.isValid(o.expiresAt)}},tm=(e,t,r)=>{if(t<0)return VE;if(t===0)return WE;let{report:n}=ns(e,t,r);return n===null?zE:KE(n)},$E=(e,t)=>Object.keys(t).some(n=>e[n]!==t[n])?Object.freeze({...e,...t}):e,Nl=()=>{},jE=({apiBasePath:e,detailSource:t,cache:r})=>{let n=new Map,o=(u,m)=>{let p=$E(u.record,m);if(p!==u.record){u.record=p;for(let f of u.listeners)f()}},a=u=>{let m=n.get(u);if(m===void 0)return;let{report:p,isStale:f}=ns(r,u,m.dateKey);o(m,p!==null&&!f&&m.record.isRefetching?{report:p,error:null,isLoading:!1,isRefetching:!1}:{report:p})},s=(u,m,p)=>{let{record:f}=m;if(f.report!==null&&f.error===null&&!Zp(p)){Pl.warn(`Refetch failed, the shown report stays id=${u}`,p),o(m,{isLoading:!1,isRefetching:!1});return}o(m,{error:p,isLoading:!1,isRefetching:!1})},i=(u,m)=>{let{dateKey:p}=m,{report:f,isStale:y}=ns(r,u,p);if(f!==null&&!y)return o(m,{report:f,error:null,isLoading:!1,isRefetching:!1}),Nl;o(m,{isLoading:f===null,isRefetching:!0});let S=null,h=!1,D=async()=>{let R;try{t==="ids"?(S=new AbortController,R=await UE(e,u,S.signal)):p!==null?R=await kE(e,u,p):R=await OE(e,u)}catch(b){h||s(u,m,b instanceof Error?b:new Error("Load failed"));return}h||o(m,{report:R,error:null,isLoading:!1,isRefetching:!1})};if(f===null)return D(),()=>{h=!0,S?.abort(Jp)};let g=setTimeout(D,Mn);return()=>{h=!0,clearTimeout(g),S?.abort(Jp)}},l=(u,m)=>{let{record:p}=m;return p.isRefetching?!1:p.error!==null?!Zp(p.error):ns(r,u,m.dateKey).isStale},d=(u,m)=>{let p=Ao(m),f={record:tm(r,u,p),dateKey:p,listeners:new Set,stop:Nl};return n.size===0&&r.listeners.add(a),n.set(u,f),f.stop=i(u,f),f},c=(u,m)=>{n.delete(u),n.size===0&&r.listeners.delete(a),m.stop()};return{read:u=>{let m=n.get(u);return m===void 0?tm(r,u,null):m.record},subscribe:(u,m,p)=>{if(u<=0)return Nl;let f=n.get(u),y=f===void 0?d(u,m):f;return!y.listeners.has(p)&&l(u,y)&&(y.stop(),y.stop=i(u,y)),y.listeners.add(p),()=>{!y.listeners.delete(p)||y.listeners.size>0||c(u,y)}}}},GE={date:new Map,ids:new Map},YE=(e,t)=>{let r=GE[t],n=r.get(e);if(n!==void 0)return n;let o=jE({apiBasePath:e,detailSource:t,cache:se});return r.set(e,o),o},nn=()=>{let{apiBasePath:e}=q(),t=rm(kn);return YE(e,t)},Bl=(e,t)=>{let r=nn(),[n,o]=IE(()=>({reportHubId:e,resource:r.read(e)})),a=n;return n.reportHubId!==e&&(a={reportHubId:e,resource:r.read(e)},o(a)),CE(()=>{let s=()=>{let l=r.read(e);o(d=>d.resource===l?d:{reportHubId:e,resource:l})},i=r.subscribe(e,t,s);return s(),i},[r,e,t]),a.resource},Ul=()=>{let{apiBasePath:e}=q(),t=rm(kn);return vE(r=>{if(t==="ids")return;let n=Ao(r);n&&!se.getList(n)&&Hl(e,n).catch(o=>Pl.warn("Prefetch error",n,o))},[e,t])};import{VIRTUAL_SCROLL_LABEL_KEYS as qE}from"@aiquants/virtualscroll";import{useRef as XE}from"react";var ls=()=>{let{locale:e,labels:t}=q(),r=Up(t),n=XE(null),o=n.current;return o!==null&&qE.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};import{useState as QE}from"react";var Xe=e=>{let[t]=QE(()=>({current:e()}));return t};import{useLayoutEffect as iD,useState as lD}from"react";import{flushSync as dD}from"react-dom";var pm=Object.freeze({visibilityProperty:!0}),cm=new Set(["auto","scroll"]),um=new Set(["","true","plaintext-only"]),mm=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=Rm(n)?n.host:null}return!1},ZE=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(pm))return!0;return!1},fm=e=>e.localName==="area"?ZE(e):e.checkVisibility(pm),JE=e=>{let t=e.getAttribute("contenteditable");if(t===null||!um.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(um.has(o))return!1;if(o==="false")return!0}return!0},eD=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&&fm(n)&&(r=n)}return r===e},tD=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&&cm.has(a.overflowX)||n&&cm.has(a.overflowY)},rD=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 JE(e)}},nD=/^[\t\n\f\r ]*[+-]?\d/,oD=e=>{let t=e.getAttribute("tabindex");return t!==null&&nD.test(t)?e.tabIndex:null},ym=(e,t)=>{for(let r of Wl(e))if(t(r)||ym(r,t))return!0;return!1},ds=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=aD(e,t);return t.set(e,n),n},aD=(e,t)=>{if(!Wo(e))return"none";let r=oD(e),n=r===null&&rD(e),o=r===null&&!n&&tD(e);return!(r!==null||n||o)||e.matches(":disabled")||mm(e)||!fm(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?eD(e)?"sequential":"programmatic":"sequential":ym(e,a=>ds(a,t)==="sequential")?"none":"sequential"},Vl=(e,t)=>{for(let r of Wl(e))t(r),Vl(r,t)},Wl=e=>{if(Pe(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 Vo=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return Vl(e,l=>{ds(l,a)==="sequential"&&n.push(l)}),{before:r,within:n,after:o};let s=!1,i=(l,d)=>{for(let c of Wl(l)){let u=c===t;!u&&ds(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}},cs=e=>{let t=[],r=new Map;return Vl(e,n=>{ds(n,r)==="sequential"&&t.push(n)}),t},Pe=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,Wo=e=>"focus"in e&&"blur"in e,sD=e=>e.nodeType===e.DOCUMENT_NODE,Rm=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,tt=e=>{let t=e.getRootNode();if(Rm(t)){let r=t.activeElement;return r===null?tt(t.host):r}return sD(t)?t.activeElement:null},on=e=>{let t=tt(e);return t===null||t===t.ownerDocument.body||mm(t)},je=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 us=e=>{let[t,r]=lD(null);return iD(()=>{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?dD(()=>r(l)):r(l)},s=l=>{for(let d of l)a(d.borderBoxSize[0].blockSize)},i=new(je(n)).ResizeObserver(s);return i.observe(n,{box:"border-box"}),()=>i.disconnect()},[e]),t};var hm=255,zl=[null],bm=new Map,ps=[void 0],Sm=new Map,tr=e=>{if(e===null)return 0;let t=bm.get(e);if(t!==void 0)return t;let r=zl.length;return zl.push(e),bm.set(e,r),r},Er=e=>{let t=zl[e];if(t===void 0)throw new Error(`[daily-report] No business date has the code ${e}`);return t},zo=e=>{if(e===void 0)return 0;let t=Sm.get(e);if(t!==void 0)return t;let r=ps.length;if(r>hm)throw new Error(`[daily-report] The rows hold more than ${hm} distinct source types; ${e} has no code`);return ps.push(e),Sm.set(e,r),r},an=e=>{if(!(Number.isInteger(e)&&e>=0&&e<ps.length))throw new Error(`[daily-report] No source type has the code ${e}`);return ps[e]},er=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:Er(this.businessDateCodes[r]),sourceType:an(this.sourceTypeCodes[r])}}items(){let t=[];for(let r=0;r<this.length;r++)t.push(this.itemAt(r));return t}businessDateAt(t){return Er(this.businessDateCodes[this.rowIndexOf(t)])}sourceTypeAt(t){return an(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}`)}},gm=e=>{if(e instanceof er)return e;throw new Error("[daily-report] A row batch the package did not build has no code columns")},Bt=new er(0,new Float64Array(0),new Uint32Array(0),new Uint8Array(0)),cD=Float64Array.BYTES_PER_ELEMENT+Uint32Array.BYTES_PER_ELEMENT+Uint8Array.BYTES_PER_ELEMENT,Fn=e=>{let t=new ArrayBuffer(e*cD),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)}},Dr=(e,t,r)=>{if(r===0)return Bt;let n=t+r;return new er(r,e.ids.subarray(t,n),e.businessDateCodes.subarray(t,n),e.sourceTypeCodes.subarray(t,n))},uD=16,Yt=class{constructor(t=uD){this.count=0;this.columns=null;this.initialCapacity=ut("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,tr(t.businessDate),zo(t.sourceType))}pushFrom(t,r){this.push(t.ids[r],t.businessDateCodes[r],t.sourceTypeCodes[r])}build(){let t=this.columns;return t===null?Bt:Dr(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}},Kl=e=>{let t=new Yt(e.length);for(let r of e)t.pushItem(r);return t.build()};var qt=10,Ko=1<<qt,Bn=Ko-1,pD=Ko,mD=pD/2,Hn=new Map,Gl=new Map,Yl=(e,t,r)=>e.businessDate===t&&e.sourceType===r,fD=(e,t,r)=>{let n=Hn.get(e),o=n===void 0?Gl.get(e):n;return o!==void 0&&Yl(o,t,r)?o:void 0},ms=(e,t,r)=>{let n=Er(t),o=an(r),a=Hn.get(e);if(a!==void 0&&Yl(a,n,o))return a;let s=a===void 0?Gl.get(e):void 0,i=s!==void 0&&Yl(s,n,o)?s:{reportHubId:e,businessDate:n,sourceType:o};return Hn.set(e,i),Hn.size>=mD&&(Gl=Hn,Hn=new Map),i},Em=(e,t,r)=>{let n=Er(t),o=an(r),a=fD(e,n,o);return a===void 0?{reportHubId:e,businessDate:n,sourceType:o}:a};var Tt=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 Dm(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=Em(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}}}}},fs=new Tt([],0),Dm=(e,t)=>{let r=e.chunks[t>>>qt],n=t&Bn;return ms(r.ids[n],r.businessDateCodes[n],r.sourceTypeCodes[n])},sn=(e,t)=>e.chunks[t>>>qt].ids[t&Bn],Un=(e,t)=>e.chunks[t>>>qt].businessDateCodes[t&Bn],Xl=(e,t)=>e.chunks[t>>>qt].sourceTypeCodes[t&Bn],$l={businessDate:null,reportHubId:0},jl={businessDate:null,reportHubId:0},Vn=(e,t,r,n)=>($l.reportHubId=e,$l.businessDate=Er(t),jl.reportHubId=r,jl.businessDate=Er(n),Ap($l,jl)),Tm=e=>{if(e.length===0)return fs;let t=[];return wm(t,e,e.length),new Tt(t,e.length)},wm=(e,t,r)=>{for(let n=0;n<r;n+=Ko)e.push(Dr(t,n,Math.min(Ko,r-n)))},ln={removals:[],replacements:[],additions:Bt,insertions:[]},yD=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)),Dr(t,0,e.length)},RD=(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>>>qt,d=n.get(l);d===void 0&&(d=yD(e.chunks[l]),n.set(l,d),r[l]=d);let c=o&Bn;d.ids[c]=a,d.businessDateCodes[c]=s,d.sourceTypeCodes[c]=i}return new Tt(r,e.length)},Wn=(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((E,I)=>E-I),a=[...t.replacements].sort((E,I)=>E.index-I.index);if(o.length===0&&r.length===0)return RD(e,a);let s=e.length,i=s-o.length+r.length;if(i===0)return fs;let d=Math.min(o.length===0?s:o[0],a.length===0?s:a[0].index,r.length===0?s:n[0])>>>qt,c=e.chunks.slice(0,d),u=d<<qt,m=i-u,p=m===0?Bt:Fn(m),f=0,y=()=>{if(f===m)throw new Error(`[daily-report] Edits of a list of ${s} rows write more than the ${i} rows they leave`);return m-f},S=(E,I,x)=>{y(),p.ids[f]=E,p.businessDateCodes[f]=I,p.sourceTypeCodes[f]=x,f+=1},h=(E,I)=>{for(let x=E;x<I;){let P=e.chunks[x>>>qt],O=x&Bn,B=Math.min(I-x,Ko-O,y());p.ids.set(P.ids.subarray(O,O+B),f),p.businessDateCodes.set(P.businessDateCodes.subarray(O,O+B),f),p.sourceTypeCodes.set(P.sourceTypeCodes.subarray(O,O+B),f),f+=B,x+=B}},D=d<<qt,g=0,R=0,b=0;for(;;){let E=Math.min(g<o.length?o[g]:s,R<a.length?a[R].index:s,b<r.length?n[b]:s);for(h(D,E),D=E;b<r.length&&n[b]===E;b++)S(r.ids[b],r.businessDateCodes[b],r.sourceTypeCodes[b]);if(E===s)break;if(g<o.length&&o[g]===E)g+=1,D=E+1;else if(R<a.length&&a[R].index===E){let I=a[R];S(I.id,I.businessDateCode,I.sourceTypeCode),R+=1,D=E+1}}return wm(c,p,f),new Tt(c,u+f)},$o=(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<<qt)+s}return-1},Am=(e,t)=>{let r=$o(e,t);return r===-1?void 0:Dm(e,r)},ql=(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(Em(s,e.businessDateCodes[a],e.sourceTypeCodes[a]))}return t.set(e,o),o},xm=(e,t,r)=>{let n=[];if(!(e instanceof Tt)){for(let o of e)r(o.reportHubId)&&n.push(o);return n}for(let o of e.chunks){let a=ql(o,t,r);for(let s=0;s<a.length;s++)n.push(a[s])}return n},vm=(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=ql(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=ql(t.chunks[l],r,n);for(let c=0;c<d.length;c++)i.push(d[c])}return{before:s,after:i}};var Cm=(e,t)=>Number.isInteger(t)&&t>=0&&t<e.length,ke=(e,t)=>Cm(e,t)?e.at(t):void 0,hD=(e,t)=>e instanceof Tt?Cm(e,t)?sn(e,t):void 0:ke(e,t)?.reportHubId,bD=16,Im=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,Fe=(e,t,r)=>{let n=r===null?void 0:ke(e,r);if(r!==null&&n!==void 0){if(n.reportHubId===t)return r;for(let o=1;o<=bD;o++){if(ke(e,r+o)?.reportHubId===t)return r+o;if(ke(e,r-o)?.reportHubId===t)return r-o}}return rr(e,t)},rr=(e,t)=>{if(e instanceof Tt)return $o(e,t);let r=0;for(let n of e){if(n.reportHubId===t)return r;r+=1}return-1},Ql=e=>{let t=ke(e,0);return t===void 0?null:t.reportHubId};var nr=(e,t)=>{let r=ke(e,t);if(r===void 0)throw _m(e,t);return r},ys=(e,t)=>{let r=hD(e,t);if(r===void 0)throw _m(e,t);return r},_m=(e,t)=>new Error(`[daily-report] No report at index ${t} of a list of ${e.length}`);var Rs="data-daily-report-row",Lm=`[${Rs}]`,Nm="data-daily-report-button",hs="data-daily-report-row-focus",bs={[hs]:""},Om="data-daily-report-view",Ss={[Om]:""},Zl="treegrid",SD='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',gD=/^[1-9]\d*$/,Mm=e=>{if(e===null||!gD.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},Pm=e=>e.querySelector(`[${Om}] [role="${Zl}"]`),km=e=>e.querySelector(`[${hs}]`),dn=(e,t)=>{if(t===null||!Pe(e))return null;let r=e.closest(Lm);return r===null||r===t||!t.contains(r)?null:r},jo=e=>Mm(e.getAttribute(Rs)),Vr=e=>Mm(e.getAttribute("aria-posinset")),Fm=e=>{let t=e.closest(Lm),r=t===null?null:Vr(t);return r===null?null:r-1},Hm=(e,t)=>{if(e===null)return null;let r=jo(e);if(r===null)return null;let n=Vr(e),o=Fe(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},Bm=(e,t)=>{if(!Pe(e))return!1;let r=e.closest(SD);return r!==null&&r!==t&&t.contains(r)};import{createContext as Um}from"react";var cn=Um(0),Wr=-1,Vm=(e,t)=>t.phase==="complete"?e:t.totalCount===null?Wr:Math.max(e,t.totalCount),un=Um(-1);import{flushSync as ED}from"react-dom";var DD=()=>({deferring:!1,measuring:!1,queuedObservations:new Set,queuedMeasurements:new Set,frame:0}),Wm=(e,t)=>{e.queuedObservations.add(t),e.measuring&&e.queuedMeasurements.add(t)},zm=e=>{let t=new Set,r=DD(),n=[],o=null,a=()=>{try{ED(()=>e(n))}finally{n.length=0}},s=()=>{let l=r.queuedMeasurements;for(;l.size>0;){for(let d of l)n.push([d,d.getBoundingClientRect().height]);l.clear(),a()}},i=()=>{s(),r.measuring=!1};return{observe:l=>(t.add(l),o!==null&&(r.deferring?Wm(r,l):o.observe(l)),()=>{t.delete(l),r.queuedObservations.delete(l),r.queuedMeasurements.delete(l),o!==null&&o.unobserve(l)}),remeasure:l=>{if(o!==null){if(!r.deferring){o.observe(l);return}o.unobserve(l),Wm(r,l)}},attach:l=>{if(o!==null)throw new Error("[daily-report] the row-height delivery is connected to a view's window already; disconnect it before connecting it again");let d=()=>{r.frame=0,r.deferring=!1;for(let m of r.queuedObservations)u.observe(m);r.queuedObservations.clear()},c=m=>{r.deferring=!0,r.measuring=!0,l.cancelAnimationFrame(r.frame),r.frame=l.requestAnimationFrame(d);for(let p of m)n.push([p.target,p.borderBoxSize[0].blockSize]);a(),s(),queueMicrotask(i)},u=new l.ResizeObserver(c);for(let m of t)u.observe(m);return o=u,()=>{l.cancelAnimationFrame(r.frame),r.frame=0,r.deferring=!1,r.measuring=!1,r.queuedObservations.clear(),r.queuedMeasurements.clear(),u.disconnect(),o=null}}}};var gs=(e,t)=>{if(!(Number.isFinite(t)&&t>0))throw Me(e,"a finite number > 0",t)},Km=({seedPx:e,quantumPx:t})=>{gs("createRowHeightEstimate: quantumPx",t),gs("createRowHeightEstimate: seedPx",e);let r=l=>Math.ceil(l/t)*t;if(r(e)!==e)throw Me("createRowHeightEstimate: seedPx",`a multiple of the quantum ${t}`,e);let n=[],o=new Map,a=0,s=l=>{let d=0,c=n.length;for(;d<c;){let u=d+c>>>1;n[u].heightPx<l?d=u+1:c=u}return d},i=l=>{let d=0,c=n[0].count;for(;c<=l;)d+=1,c+=n[d].count;return n[d].heightPx};return{record:(l,d)=>{if(gs("RowHeightEstimate.record: nextPx",d),l!==null){gs("RowHeightEstimate.record: previousPx",l);let u=o.get(l);if(u===void 0)throw Me("RowHeightEstimate.record: previousPx","a recorded height",l);u.count-=1,u.count===0&&(o.delete(l),n.splice(s(l),1)),a-=1}let c=o.get(d);if(c===void 0){let u={heightPx:d,count:1};o.set(d,u),n.splice(s(d),0,u)}else c.count+=1;a+=1},estimate:()=>{if(a===0)return e;let l=i(a>>>1),d=a%2===1?l:(i((a>>>1)-1)+l)/2;return r(d)}}};import{useVirtualScrollItem as Jm}from"@aiquants/virtualscroll";import{createContext as ef,useCallback as ad,useContext as rd,useLayoutEffect as Jl,useReducer as TD,useRef as $m}from"react";import{flushSync as jm}from"react-dom";var wD=1/2,AD=32,xD=8,zn=16,vD=5,CD=3,ID=1.5,nd=2,Gm=1e3/60,_D=1,LD=1,od=()=>{},Kn=Object.freeze({visible:0,reach:1,near:2,far:3}),Es=Object.freeze({capture:!0,passive:!0}),ed=Object.freeze({type:"sync-release"}),Ym=Object.freeze({type:"deferred-visible"}),ND=Object.freeze({type:"oversize-frame"}),tf=(e,t)=>({sorted:new Float64Array(e),arrivals:new Float64Array(e),known:t,count:0,next:0,p50:null,p90:null}),qm=()=>({frameTime:0,onTime:0,start:0,inputEpoch:0,interval:0,units:0,reservoir:null,busy:null,rows:[]}),td=(e,t)=>({kind:Object.freeze({sizing:e,change:t}),...tf(AD,xD)}),Xm=e=>({body:td(e,"body"),box:td(e,"box"),marks:td(e,"marks")}),Qm=(e,t)=>{let{sorted:r,arrivals:n}=e,o=r.length;if(e.count===o){for(let s=r.indexOf(n[e.next]);s<o-1;s++)r[s]=r[s+1];e.count-=1}n[e.next]=t,e.next=(e.next+1)%o;let a=e.count;for(;a>0&&r[a-1]>t;a--)r[a]=r[a-1];r[a]=t,e.count+=1,!(e.count<e.known)&&(e.p50=r[Math.ceil(.5*e.count)-1],e.p90=r[Math.ceil(.9*e.count)-1])},OD=e=>{e.count=0,e.next=0,e.p50=null,e.p90=null},Zm=(e,t)=>{let r=e[0];for(let n=1;n<t;n++)e[n]<r&&(r=e[n]);return r},MD=(e,t)=>e.zone!==t.zone?e.zone<t.zone:e.second!==t.second?e.second<t.second:e.third<t.third,PD=(e,t)=>{t.zone=e.zone,t.second=e.second,t.third=e.third,t.paneReach=e.paneReach},Go=e=>(e<Gm-_D?Gm:e)-nd,kD=e=>(Math.round(Go(e)/e)-1+ID)*e,rf=({gridId:e,isHolding:t,subscribeHold:r,keySteps:n,activeIndex:o,indexOf:a,pane:s,observe:i})=>{let l=new Map,d=new Map,c=new Map,u=new Map,m=new Map,p={fixed:Xm("fixed"),measured:Xm("measured")},f=Object.values(p).flatMap(N=>Object.values(N)),y=null,S=null,h=0,D=null,g=1,R=null,b=null,E=null,I=!1,x=1,P=!1,O={zone:0,second:0,third:0,paneReach:!1},B={zone:0,second:0,third:0,paneReach:!1},w=N=>{i!==void 0&&i(N)},_=N=>{if(R===null)return!1;let V=Go(R),{p50:K}=p[N.sizing][N.change];return K!==null&&K>V||N.sizing==="measured"&&b!==null&&b>V&&t()},A=()=>{if(R===null)return!1;let N=Go(R);if(b!==null&&b>N)return!0;for(let{p50:V}of f)if(V!==null&&V>N)return!0;return!1},T=()=>{let N=o();return N!==null&&D!==null&&N!==D&&(g=N>D?1:-1),D=N,N},L=(N,V,K)=>_(N)||V==="far"&&K!==g,F=(N,V,K,re,he)=>{O.zone=N.deferredVisible?Kn.visible:Kn[V],O.second=K===null?Number.POSITIVE_INFINITY:re===null?K:Math.abs(K-re),O.third=he===-g?1:0,O.paneReach=!1},U=(N,V,K,re,he)=>{let H=re.visibleStartIndex,ee=re.visibleEndIndex,te=K===null?0:K>ee?1:K<H?-1:0,Ee=K===null?Number.POSITIVE_INFINITY:te===1?K-ee:te===-1?H-K:0,Te=he&&te===x&&Ee<=ee-H+1;O.zone=N.deferredVisible||V==="visible"?Kn.visible:V==="reach"||Te?Kn.reach:Kn.near,O.second=K===null||te===-x?1:0,O.third=Ee,O.paneReach=Te},j=()=>{let N=t(),V=T(),K=!N&&E!==null&&(V===null||V<E.renderingStartIndex||V>E.renderingEndIndex)?E:null,re=K!==null&&I,he=null;for(let H of l.values()){let ee=H.handle.getZone(),te=a(H.reportHubId),Ee=te===null||V===null?0:Math.sign(te-V);N&&L(H,ee,Ee)||re&&_(H)||(K===null?F(H,ee,te,V,Ee):U(H,ee,te,K,re),!(he!==null&&!MD(O,B))&&(he=H,PD(O,B)))}return he},G=()=>{if(!t())return l.size>0;let N=T();for(let V of l.values()){let K=a(V.reportHubId);if(!L(V,V.handle.getZone(),K===null||N===null?0:Math.sign(K-N)))return!0}return!1},Q=()=>t()&&h>0&&!A()?!0:G(),X=N=>{l.get(N.reportHubId)===N&&(l.delete(N.reportHubId),N.unsubscribeZone())},fe=()=>{y!==null&&y.wake()},De=()=>{P=!1;let N=d;d=c,c=N;for(let V=N.size;V>0;V--)w(ed);try{jm(()=>{for(let V of N.values())V.apply()})}finally{N.clear()}};return{gridId:e,enqueue:(N,V)=>{let K=l.get(N.reportHubId);K!==void 0&&X(K),d.delete(N.reportHubId);let re=t(),he=N.handle.getZone()==="visible";if(!re&&he)return V==="commit"?(w(ed),N.apply(),od):(d.set(N.reportHubId,N),P||(P=!0,queueMicrotask(De)),()=>{d.get(N.reportHubId)===N&&d.delete(N.reportHubId)});let H=re&&he&&_(N),ee={...N,deferredVisible:H,unsubscribeZone:N.handle.subscribeZone(()=>{let te=N.handle.getZone();if(te==="visible"){if(t()&&_(N)){if(ee.deferredVisible)return;ee.deferredVisible=!0,w(Ym);return}X(ee),w(ed),N.apply();return}te!=="far"&&fe()})};return l.set(N.reportHubId,ee),H&&w(Ym),fe(),()=>{X(ee)}},declareRow:N=>{if(N==="fixed")return od;h+=1,h===1&&fe();let V=!0;return()=>{V&&(V=!1,h-=1)}},declareBody:(N,V,K)=>{let re={handle:V,body:K,fresh:K!==null};return u.set(N,re),K!==null&&m.set(K,N),V.setSkippable(K===null),()=>{u.get(N)===re&&u.delete(N),K!==null&&m.get(K)===N&&m.delete(K)}},measured:N=>{let V=m.get(N),K=V===void 0?void 0:u.get(V);K===void 0||K.body!==N||(K.fresh=!1,K.handle.setSkippable(!0))},invalidate:N=>{let V=u.get(N);if(!(V===void 0||V.body===null)){if(V.fresh){V.fresh=!1;return}V.handle.setSkippable(!1),S!==null&&S(V.body)}},attach:(N,V)=>{if(y!==null)throw new Error("[daily-report] the row pass is connected to a view's window already; disconnect it before connecting it again");let K=new N.MessageChannel,re="idle",he=0,H=null,ee=null,te=[qm()],Ee=0,Te=0,ie=te[0],xt=new Float64Array(zn),Qe=0,vt=0,ot=new Float64Array(zn),ct=0,at=0,Rt=0,Kt=0,$t=0,Dt=0,v=tf(vD,CD),M=0,W=n.appliedEpoch(),Y=null;R=null,b=null;let oe=()=>{re!=="idle"||!Q()||(re="arming",K.port1.postMessage(null))},ue=()=>{re==="arming"&&(re="framing",he=N.requestAnimationFrame(ye))},$=pe=>{let Oe=p[pe.sizing][pe.change];X(pe),jm(pe.apply),ie.reservoir=ie.units===0||ie.reservoir===Oe?Oe:null,ie.units+=1,i!==void 0&&ie.rows.push(pe.reportHubId)},ne=(pe,Oe)=>{ie.interval=pe;let He=j();if(He===null){Dt=0;return}let{zone:st,paneReach:Ct}=B,Ze=p[He.sizing][He.change].p90,Nr=pe-nd-Oe;if(Ze===null?Oe>pe/2:Ze>Nr&&Oe>nd){let Or=st<=Kn.reach;if(!Ct&&(!Or||Dt<LD)){i!==void 0&&i({type:"late-frame",frameTime:ie.frameTime}),Dt=Or?Dt+1:0;return}i!==void 0&&i({type:"late-forced-frame",frameTime:ie.frameTime})}if(Dt=0,$(He),Ze===null)return;let cr=wD*pe;if(Ze>cr){w(ND);return}let Zt=Ze;for(let Or=j();Or!==null&&y===xn;Or=j()){let Ta=p[Or.sizing][Or.change].p90;if(Ta===null||Zt+Ta>cr||Zt+Ta>Nr)return;$(Or),Zt+=Ta}},Le=()=>{let pe=s();E=pe===null?null:pe.range,I=!1,pe!==null&&ee!==null&&pe.position!==ee&&(I=!0,x=pe.position>ee?1:-1),ee=pe===null?null:pe.position},k=(pe,Oe,He)=>{let st=Ee;if(st-Te===te.length){let Ct=Array.from({length:2*te.length},qm);for(let Ze=Te;Ze<st;Ze++)Ct[Ze%Ct.length]=te[Ze%te.length];te=Ct}return Ee=st+1,ie=te[st%te.length],ie.frameTime=pe,ie.onTime=Oe,ie.start=He,ie.inputEpoch=Rt,ie.units=0,ie.reservoir=null,ie.busy=null,ie.rows.length=0,st},z=(pe,Oe)=>{Qm(v,pe),M+=1,b=v.p50,i!==void 0&&i({type:"key-frame",frameTime:Oe,busy:pe,stepP50:b,samples:M,interval:R,limit:R===null?null:Go(R)})},ae=(pe,Oe,He)=>{let st=He!==W;W=He,t()&&st&&pe.units===0&&R!==null&&Oe>=kD(R)&&z(Oe,pe.frameTime)},ye=pe=>{he=0;let Oe=N.performance.now(),He=Oe-pe;ot[at]=He,at=(at+1)%zn,ct=Math.min(ct+1,zn);let st=pe+Zm(ot,ct),Ct=n.appliedEpoch(),Ze=null;if(H!==null){let cr=pe-H.frameTime,{busy:Zt}=H;Zt!==null&&Zt<=cr/2&&(xt[vt]=cr,vt=(vt+1)%zn,Qe=Math.min(Qe+1,zn),R=Zm(xt,Qe)),Ze=R,Zt===null&&ae(H,Oe-H.onTime,Ct)}Le(),T();let Nr=Rt!==Kt||Ct!==$t||n.pending();Kt=Rt,$t=Ct;let It=k(pe,st,Oe);if(H=ie,Ze!==null&&!Nr&&ne(Ze,Oe-st),y===xn){if(K.port2.postMessage(It),!Q()){re="idle",H=null,ee=null,Dt=0,Y=It;return}he=N.requestAnimationFrame(ye)}},xe=pe=>{let Oe=pe.data,He=te[Oe%te.length];Te=Oe+1;let st=n.appliedEpoch();$t=st;let Ct=N.performance.now(),Ze=Oe!==Ee-1;if(!Ze){let Zt=Ct-He.onTime;He.busy=Zt,t()&&Oe!==Y&&st!==W&&He.units===0&&z(Zt,He.frameTime),W=st}let{units:Nr,reservoir:It}=He;if(Nr===0)return;let cr=null;!Ze&&It!==null&&He.inputEpoch===Rt&&(cr=(Ct-He.start)/Nr,Qm(It,cr)),i!==void 0&&i({type:"unit-frame",frameTime:He.frameTime,units:Nr,kind:It===null?null:It.kind,cost:cr,p50:It===null?null:It.p50,p90:It===null?null:It.p90,budget:Go(He.interval),rows:He.rows.splice(0)})},ze=()=>re==="framing"||h===0||A()?!1:(re="framing",he=N.requestAnimationFrame(ye),!0),jt=()=>{if(t()){D=o(),OD(v),M=0,b=null;let pe=ze();i!==void 0&&i({type:"hold-start",interval:R,listening:pe});return}i!==void 0&&i({type:"hold-end",interval:R,stepP50:b,samples:M}),oe()},Lr=()=>{Rt+=1},xn={wake:oe};K.port2.onmessage=ue,K.port1.onmessage=xe,N.addEventListener("keydown",Lr,Es),N.addEventListener("keyup",Lr,Es),y=xn,S=V;let jS=r(jt);return oe(),()=>{jS(),N.removeEventListener("keydown",Lr,Es),N.removeEventListener("keyup",Lr,Es),he!==0&&N.cancelAnimationFrame(he),K.port1.onmessage=null,K.port2.onmessage=null,K.port1.close(),K.port2.close(),y=null,S=null,R=null,b=null}}}},Ds=ef(null),Yo=ef(null),sd=e=>{let t=rd(Ds);if(t===null)throw new Error(`[daily-report] ${e} is called outside a view's rows (no row pass)`);return t},nf=()=>sd("useViewGridId").gridId,Ts=(e,t,r)=>{let n=sd("useRowPass"),o=Jm(),[a,s]=TD(()=>({bodyReady:!0,rendered:t.read()}),t,c=>({bodyReady:o.getZone()==="visible",rendered:c.read()})),i=$m(a),l=$m(od),d=ad(c=>{let u=i.current,m=t.read();if(u.bodyReady&&Object.is(u.rendered,m)){l.current();return}let p=u.bodyReady?t.changesBox(u.rendered,m)?"box":"marks":"body";l.current=n.enqueue({reportHubId:e,handle:o,apply:s,sizing:r,change:p},c)},[n,e,o,t,r]);return Jl(()=>n.declareRow(r),[n,r]),Jl(()=>{let c=t.subscribe(()=>d("notification"));return()=>{c(),l.current()}},[t,d]),Jl(()=>{let c=i.current;if(i.current=a,d("commit"),r==="fixed")return n.declareBody(e,o,null);c!==a&&t.changesBox(c.rendered,a.rendered)&&n.invalidate(e)},[n,e,o,t,r,a,d]),a},of=e=>{let t=sd("useRowBodyDeclaration"),r=Jm();return ad(o=>t.declareBody(e,r,o),[t,e,r])},af=()=>{let e=rd(Ds),t=rd(Yo);return ad(()=>{e!==null&&t!==null&&e.invalidate(t)},[e,t])};import{clsx as FD}from"clsx";import{twMerge as HD}from"tailwind-merge";function C(...e){return HD(FD(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=C(e,n);return t.set(n,a),a}};import{useCallback as sf,useMemo as BD,useSyncExternalStore as UD}from"react";var lf="(prefers-reduced-motion: reduce)",df=e=>je(e).matchMedia(lf).matches?"instant":"smooth",VD=Object.freeze({...Il,startVelocityThreshold:Number.POSITIVE_INFINITY}),$n=e=>e?VD:Il,WD=()=>!1,zD=()=>{},jn=e=>{let t=BD(()=>e===null?null:je(e).matchMedia(lf),[e]),r=sf(o=>t===null?zD:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=sf(()=>t===null?!1:t.matches,[t]);return UD(r,n,WD)};import{useSyncExternalStore as KD}from"react";import{jsx as id}from"react/jsx-runtime";var ws=()=>{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)})}},cf=16,$D=C(pu,"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"),jD=(e,t)=>e==="vertical"?{top:0,left:-cf,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-cf,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},As=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:s}=KD(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||s)?id("div",{className:"pointer-events-none absolute flex items-center",style:jD(e,t),children:id("div",{className:$D,children:id("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};import{createContext as GD,useContext as YD,useLayoutEffect as qD,useRef as XD}from"react";var ld=GD(null),xs=({items:e,scroller:t,readTopReportId:r})=>{let n=YD(ld),o=n===null?null:n.request,a=XD(o===null?0:o.seq);qD(()=>{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:rr(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 Sc,useCallback as En,useContext as yC,useEffect as zh,useLayoutEffect as Kh,useMemo as mo,useRef as bc}from"react";var vs="Internal",QD=e=>e.trim().toLowerCase();var ZD=e=>e===vs,pn=(e,t)=>e!=null&&typeof t=="string"&&t!==""&&e.userId===t&&ZD(e.sourceType);var Cs="legacy-",JD=e=>`${Cs}${e}`,uf=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Me("mergeComments: unknownAuthorName","a non-blank string",n);let o=e.map((s,i)=>({id:JD(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]},pf=e=>{if(!e)return"text-gray-700 dark:text-gray-300";let t=e.toLowerCase();return t.includes("red")||t.includes("\u8D64")?"text-red-800 dark:text-red-300":t.includes("green")||t.includes("\u7DD1")?"text-green-900 dark:text-green-400":t.includes("blue")||t.includes("\u9752")?"text-blue-800 dark:text-blue-300":t.includes("yellow")||t.includes("\u9EC4")?"text-yellow-900 dark:text-yellow-400":t.includes("orange")||t.includes("\u6A59")?"text-orange-900 dark:text-orange-400":"text-gray-700 dark:text-gray-300"};var eT=Object.freeze(["subject","content","author","employeeName","updatedBy","category","creationCategory","customerName"]),we=Object.freeze({field:e=>e,interviewer:(e,t)=>`interviewer:${e}:${t}`,attachment:e=>`attachment:${e}`,comment:(e,t)=>`comment:${e}:${t}`}),tT=e=>e.startsWith(Cs)?On(e.slice(Cs.length))!==null:Lp(e)!==null,Gn=e=>{if(eT.includes(e))return!0;let t=e.split(":");switch(t[0]){case"interviewer":return t.length===3&&On(t[1])!==null&&(t[2]==="name"||t[2]==="affiliation");case"attachment":return t.length===2&&On(t[1])!==null;case"comment":return t.length===3&&tT(t[1])&&(t[2]==="author"||t[2]==="content");default:return!1}},rT=16777619,nT=2166136261,oT=(e,t,r,n)=>{let o=e;for(let a=r;a<n;a++)o^=t.charCodeAt(a),o=Math.imul(o,rT);return o>>>0},dd=e=>oT(nT,e,0,e.length),aT=String.fromCodePoint(3),sT=String.fromCodePoint(2),iT=String.fromCodePoint(1),mf=e=>dd(e.map(t=>t.map(r=>r.map(n=>`${n.tier}${n.text}`).join(aT)).join(sT)).join(iT));import{createContext as vy,useCallback as wy,useEffect as Ay,useLayoutEffect as xy,useMemo as Pd,useRef as Od,useState as ar}from"react";import{z as _e}from"zod/v3";var ff=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var bt=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",contentDigest:"contentDigest",commentId:"commentId"}),Is=e=>{let t=new FormData;if(t.append(bt.intent,e.intent),e.intent==="clearCache"||(t.append(bt.clientTempId,e.clientTempId),e.businessDate!==null&&t.append(bt.businessDate,e.businessDate),e.operationTimestamp!==null&&t.append(bt.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return t;switch(t.append(bt.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&t.append(bt.title,e.changes.title),e.changes.content!==void 0&&t.append(bt.content,e.changes.content),t;case"publish":case"delete":return t;case"toggleStar":return t.append(bt.isStarred,String(e.value)),t;case"toggleRead":return t.append(bt.isRead,String(e.value)),e.value&&t.append(bt.contentDigest,e.contentDigest),t;case"addComment":return t.append(bt.content,e.content),t;case"deleteComment":return t.append(bt.commentId,String(e.commentId)),t}},lT=()=>{let e=qe,t=_e.string().regex(Va),r=_e.literal("OK"),n=_e.object({isStarred:_e.boolean(),isRead:_e.boolean(),readContentDigest:_e.string().regex(xo).nullable()}),o=_e.number().int().nonnegative().nullable();return{create:_e.object({status:r,intent:_e.literal("create"),reportHubId:e,clientTempId:t,report:Rr}),update:_e.object({status:r,intent:_e.literal("update"),reportHubId:e,clientTempId:t}),publish:_e.object({status:r,intent:_e.literal("publish"),reportHubId:e,clientTempId:t,report:Rr.nullable()}),delete:_e.object({status:r,intent:_e.literal("delete"),reportHubId:e,clientTempId:t}),toggleStar:_e.object({status:r,intent:_e.literal("toggleStar"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),toggleRead:_e.object({status:r,intent:_e.literal("toggleRead"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),addComment:_e.object({status:r,intent:_e.literal("addComment"),reportHubId:e,clientTempId:t,newComment:bl}),deleteComment:_e.object({status:r,intent:_e.literal("deleteComment"),reportHubId:e,clientTempId:t,deletedCommentId:qe}),clearCache:_e.object({status:r,intent:_e.literal("clearCache")})}},cd=null,dT=()=>(cd===null&&(cd=lT()),cd),yf=(e,t)=>{let r=dT()[e].safeParse(t);return r.success?{result:r.data}:{mismatch:$a(r.error)}};import{useState as mT}from"react";var _s=e=>{let t=e>>>0,r=(e-t)/4294967296|0;return Math.imul(t^Math.imul(r,1540483477),2654435761)>>>0},Tr=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=_s(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=_s(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=_s(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=_s(this.idAt(a))>>>n;for(;this.slots[s]!==-1;)s=s+1&r;this.slots[s]=a}}};var cT=e=>e.appended instanceof er&&e.replaced.previous instanceof er&&e.replaced.next instanceof er&&e.removed instanceof er,pd=e=>{if(cT(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`)},Ls=1,Ns=2,mn=3,Rf=16,uT=8192,pT=Float64Array.BYTES_PER_ELEMENT+2*Uint32Array.BYTES_PER_ELEMENT+3*Uint8Array.BYTES_PER_ELEMENT,ud=e=>{let t=new ArrayBuffer(e*pT),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)}},hf=Object.freeze({previous:Bt,next:Bt}),md=()=>{let e=0,t=ud(Rf),r=d=>t.ids[d],n=new Tr(r),o=()=>{let d=ud(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 m=n.find(d);if(m===-1){let p=a(d,Ls);t.lastDates[p]=c,t.lastSources[p]=u;return}if(t.states[m]!==mn)throw new Error(`[daily-report] The ids stream list took report ${d}, which it already holds`);t.states[m]=Ns,t.lastDates[m]=c,t.lastSources[m]=u},i=(d,c,u,m,p)=>{let f=n.find(d);if(f===-1)f=a(d,Ns),t.firstDates[f]=c,t.firstSources[f]=u;else if(t.states[f]===mn)throw new Error(`[daily-report] The ids stream list changed report ${d}, which it no longer holds`);t.lastDates[f]=m,t.lastSources[f]=p},l=(d,c,u)=>{let m=n.find(d);if(m===-1){let p=a(d,mn);t.firstDates[p]=c,t.firstSources[p]=u;return}if(t.states[m]===Ls){n.delete(d),t.states[m]=0;return}if(t.states[m]===mn)throw new Error(`[daily-report] The ids stream list dropped report ${d}, which it no longer holds`);t.states[m]=mn};return{add:s,change:i,remove:l,fold:d=>{let{removed:c,appended:u,replaced:m}=pd(d),{previous:p,next:f}=m;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,m=0,p=0;for(let R=0;R<e;R++){let b=t.states[R];b===Ls?u+=1:b===Ns?m+=1:b===mn&&(p+=1)}let f=u+2*m+p;if(f===0)return{base:d,revision:c,appended:Bt,replaced:hf,removed:Bt};let y=Fn(f),S=0,h=u,D=h+m,g=D+m;for(let R=0;R<e;R++){let b=t.states[R];b===Ls?(y.ids[S]=t.ids[R],y.businessDateCodes[S]=t.lastDates[R],y.sourceTypeCodes[S]=t.lastSources[R],S+=1):b===Ns?(y.ids[h]=t.ids[R],y.businessDateCodes[h]=t.firstDates[R],y.sourceTypeCodes[h]=t.firstSources[R],h+=1,y.ids[D]=t.ids[R],y.businessDateCodes[D]=t.lastDates[R],y.sourceTypeCodes[D]=t.lastSources[R],D+=1):b===mn&&(y.ids[g]=t.ids[R],y.businessDateCodes[g]=t.firstDates[R],y.sourceTypeCodes[g]=t.firstSources[R],g+=1)}return{base:d,revision:c,appended:Dr(y,0,u),replaced:m===0?hf:{previous:Dr(y,u,m),next:Dr(y,u+m,m)},removed:Dr(y,u+2*m,p)}},reset:()=>{if(e=0,t.ids.length<=uT){n.clear();return}t=ud(Rf),n=new Tr(r)}}},bf=(e,t,r)=>{let n=md();for(let o of e)n.fold(o);return n.build(t,r)},Sf=(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 fT={items:fs,held:new Map,hidden:new Map,revision:null,settled:!1},fd=(e,t,r)=>{let n=0,o=e.length;for(;n<o;){let a=n+o>>1;Vn(sn(e,a),Un(e,a),t,r)<0?n=a+1:o=a}return n<e.length&&sn(e,n)===t?n:-1},Os=(e,t)=>fd(e,t.reportHubId,tr(t.businessDate)),yd=(e,t,r,n)=>{let o=n,a=e.length;for(;o<a;){let s=o+a>>1;Vn(sn(e,s),Un(e,s),t,r)<=0?o=s+1:a=s}return o},yT=(e,t)=>{if(t.length===0)return[];let r=e.length-1;if(e.length===0||Vn(sn(e,r),Un(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=yd(e,t.ids[a],t.businessDateCodes[a],o),n.push(o);return n},RT=e=>{for(let t=1;t<e.length;t++)if(Vn(e.ids[t-1],e.businessDateCodes[t-1],e.ids[t],e.businessDateCodes[t])>=0)return!1;return!0},Ef=e=>{if(RT(e))return e;let t=Array.from({length:e.length},(n,o)=>o);t.sort((n,o)=>Vn(e.ids[n],e.businessDateCodes[n],e.ids[o],e.businessDateCodes[o]));let r=new Yt(e.length);for(let n of t)r.pushFrom(e,n);return r.build()},Df=(e,t,r,n)=>{let o=gm(t.readRows()),a=new Tr(d=>o.ids[d]);for(let d=0;d<o.length;d++)a.set(o.ids[d],d);let s=new Yt(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 m=e.held.get(u),p=m===void 0?Number.NEGATIVE_INFINITY:m.since;r&&u>0&&t.itemsRevision>p||(l.set(u,{item:m===void 0?ms(u,d.businessDateCodes[c],d.sourceTypeCodes[c]):m.item,since:p}),s.pushFrom(d,c))}return{items:Tm(Ef(s.build())),held:l,hidden:i,revision:t.itemsRevision,settled:r}},hT=(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?[]:Sf(t.itemsChanges,o);if(o===null||a===null)return Df(e,t,r,n);let s=e.items,i=[],l=[],d=a.length===0?null:a.length===1?pd(a[0]):bf(a,o,t.itemsRevision),c=new Yt(d===null?0:d.appended.length+d.replaced.next.length),u=null,m=()=>(u===null&&(u=new Map(e.held)),u),p=null,f=()=>(p===null&&(p=new Map(e.hidden)),p);if(d!==null){let{appended:D,replaced:g,removed:R}=d;for(let E=0;E<R.length;E++){let I=R.ids[E];if(e.hidden.has(I)&&f().delete(I),e.held.has(I))continue;let x=fd(s,I,R.businessDateCodes[E]);x!==-1&&(r||n.has(I)?i.push(x):m().set(I,{item:ms(I,Un(s,x),Xl(s,x)),since:Number.NEGATIVE_INFINITY}))}let b=(E,I,x)=>{let P=E.ids[I],O=E.businessDateCodes[I],B=E.sourceTypeCodes[I],w=e.held.get(P);w!==void 0&&m().delete(P);let _=w===void 0?x:tr(w.item.businessDate),A=_===-1?-1:fd(s,P,_);if(n.has(P)){A!==-1&&i.push(A),f().set(P,E.itemAt(I));return}if((p===null?e.hidden:p).has(P)&&f().delete(P),A!==-1&&Un(s,A)===O){Xl(s,A)!==B&&l.push({index:A,id:P,businessDateCode:O,sourceTypeCode:B});return}A!==-1&&i.push(A),c.push(P,O,B)};for(let E=0;E<g.next.length;E++)b(g.next,E,g.previous.businessDateCodes[E]);for(let E=0;E<D.length;E++)b(D,E,-1)}let y=t.itemsRevision;if(r)for(let[D,g]of u===null?e.held:u){if(D<=0||y<=g.since)continue;let R=Os(s,g.item);R!==-1&&i.push(R),m().delete(D)}let S=Ef(c.build());return{items:Wn(s,{removals:i,replacements:l,additions:S,insertions:yT(s,S)}),held:u===null?e.held:u,hidden:p===null?e.hidden:p,revision:y,settled:r}},gf=new WeakMap,bT=(e,t,r,n)=>{let o=gf.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=hT(e,t,r,n);return gf.set(e,{revision:t.itemsRevision,changes:t.itemsChanges,settled:r,tombstones:n,rows:a}),a},Tf=(e,t,r)=>{let[n,o]=mT(()=>Df(fT,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>bT(a,e,t,r)),[n,o]},Ms=(e,t,r)=>{if(e.hidden.has(t.reportHubId))return Rd(e,t.reportHubId);if(e.held.has(t.reportHubId)||Os(e.items,t)!==-1||$o(e.items,t.reportHubId)!==-1)return e;let n=Wn(e.items,{...ln,additions:Kl([t]),insertions:[yd(e.items,t.reportHubId,tr(t.businessDate),0)]}),o=new Map(e.held);return o.set(t.reportHubId,{item:t,since:r}),{...e,items:n,held:o}},Rd=(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:Wn(e.items,{...ln,additions:Kl([r]),insertions:[yd(e.items,r.reportHubId,tr(r.businessDate),0)]}),hidden:n}},fn=(e,t)=>{let r=e.held.get(t);if(r===void 0)return e;let n=Os(e.items,r.item),o=new Map(e.held);return o.delete(t),{...e,items:Wn(e.items,n===-1?ln:{...ln,removals:[n]}),held:o}},wf=(e,t)=>{let r=e.held.get(t.reportHubId),n=Os(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:Wn(e.items,n===-1?ln:{...ln,removals:[n]}),held:o}},Af=e=>({...e,revision:null});import{startTransition as NT,useLayoutEffect as OT,useState as MT,useSyncExternalStore as Zo}from"react";var xf=e=>{let t=new URLSearchParams;return e.cursor!==null&&(t.set(Ue.cursorReportHubId,String(e.cursor.reportHubId)),e.cursor.businessDate!==null&&t.set(Ue.cursorBusinessDate,e.cursor.businessDate)),e.snapshot!==null&&t.set(Ue.cursorSnapshot,e.snapshot),e.forceRefresh&&t.set(Ue.forceRefresh,"true"),t};var qo=1,ST=2,gT=1024,Yn=1024,Ps=class{constructor(){this.used=0;this.holes=0;this.ids=new Float64Array(Yn);this.dates=new Uint32Array(Yn);this.sources=new Uint8Array(Yn);this.flags=new Uint8Array(Yn);this.positions=new Tr(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:Er(this.dates[t]),sourceType:an(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]=qo,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>=gT&&this.holes>this.positions.size&&this.compact()}markSeen(t){let r=this.positions.find(t);r!==-1&&(this.flags[r]|=ST)}clearSeen(){for(let t=0;t<this.used;t++)this.flags[t]&=qo}unseenIds(){let t=[];for(let r=0;r<this.used;r++)this.flags[r]===qo&&t.push(this.ids[r]);return t}rows(){let t=new Yt(this.positions.size);for(let r=0;r<this.used;r++)(this.flags[r]&qo)!==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]&qo)!==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(Yn,t*4)&&this.resize(Math.max(Yn,t*2))}};var vf=()=>{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 ET=e=>({debug:e,info:e,warn:e,error:e}),DT=50,TT=32,Cf=0,wT=()=>(Cf+=1,Cf),AT=1e3,xT=3e4,vT=6,CT=3e4,If=Symbol("read-stall"),IT=Object.freeze({reading:()=>{},stalled:()=>!1,stop:()=>{}}),_T="/daily_report/api",LT=e=>typeof e=="object"&&e!==null&&e.name==="AbortError",ks=class{constructor(t={}){this.rows=new Ps;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=md();this.apiBasePath=t.apiBasePath??_T,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=kt(t.warn===void 0?void 0:ET(t.warn),1,"IdsStream").warn,this.readStallTimeoutMs=t.readStallTimeoutMs??CT,this.publishCoalesceMs=t.publishCoalesceMs??DT,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,tr(t.businessDate),zo(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 Yt(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>=vT){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(AT*2**(this.consecutiveFailures-1),xT))}}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===If)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=vf(),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),m=!1,p=!1;for(let f of u){if(f.trim()==="")continue;let y;try{y=JSON.parse(f)}catch{p=!0;break}let S=Dl(y);if(S==="unknown"){this.warn("skipped line of unknown kind");continue}if(S==="error"){l=!0;continue}let h=Dp(y);if(h===null){p=!0;break}m=this.absorbChunkLine(h)||m,h.total!==null&&h.total!==this.state.totalCount&&this.publish({totalCount:h.total}),h.resumeCursor!==null&&(this.lastCursor=h.resumeCursor),h.isLast&&(d=!0)}if(m&&(this.consecutiveFailures=0,this.schedulePublishItems()),p)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 LT(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(If),this.readStallTimeoutMs*3);t.then(a=>{this.clearTimeoutFn(o),r(a)},a=>{this.clearTimeoutFn(o),n(a)})})}watchReadSilence(t){if(this.readStallTimeoutMs<=0)return IT;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=tr(null),s,i=zo(void 0),l=(d,c,u)=>{this.externalRemovalTombstones.has(d)||(c!==o&&(o=c,a=tr(c)),u!==s&&(s=u,i=zo(u)),this.putItem(d,a,i)&&(n=!0),r||this.rows.markSeen(d))};return Tp(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=wT(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange.reset(),{loadedCount:this.rows.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-TT),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=xf({cursor:this.lastCursor,snapshot:this.lastCursor===null?null:this.lastSnapshot,forceRefresh:t}).toString();return`${this.apiBasePath}/${Ka}${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 PT=6e4,Se=null,_f=!1,Xo=new Set,Fs={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},hd=()=>{for(let e of Xo)e()},bd=()=>{Se&&(Se.unsubscribe(),Se.client.dispose(),Se=null,hd())},Qo=e=>{if(typeof window>"u")return;let t=e.apiBasePath??ko.apiBasePath;if(Se&&(Se.userKey!==e.userKey||Se.apiBasePath!==t)&&(Se.userKey!==e.userKey&&Uo(),bd()),!Se){let r=new ks({apiBasePath:t});Se={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(hd)},kT(),r.start(),hd();return}Bs(Se)},Bs=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>PT&&e.client.refresh()},kT=()=>{if(_f||typeof document>"u"||typeof window>"u")return;_f=!0;let e=()=>{Se&&Bs(Se)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},Sd=e=>{if(!(typeof window>"u")){if(!Se){Qo(e);return}if(Se.userKey!==e.userKey){Uo(),bd(),Qo(e);return}Bs(Se)}},gd=()=>{typeof window>"u"||!Se||Bs(Se)},qn=e=>{Se?.client.applyExternalUpsert(e)},Xn=e=>{Se?.client.applyExternalRemoval(e)},Nf=e=>Se===null?!1:Se.client.has(e),Of=()=>Se===null?Bt:Se.client.readRows(),Ed=()=>Se===null?0:Se.client.getState().itemsRevision,Us=()=>{Se?.client.retry()},Vs=()=>{Se?.client.resync()},Jo=(e={})=>{Se?.client.refresh(e)},Mf=()=>Se?.userKey,ea=e=>(Xo.add(e),()=>Xo.delete(e)),Hs=()=>Se?.client.getState()??Fs,FT=()=>Fs,HT=()=>Zo(ea,Hs,FT),Ws=(e,t)=>{let r=Fs,n=e(Fs);return()=>{let o=Hs();if(o===r)return n;let a=e(o);return r=o,t(n,a)||(n=a),n}},Pf=Ws(({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),BT=Pf(),Qn=()=>Zo(ea,Pf,()=>BT),kf=Ws(({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),UT=kf(),Ff=()=>Zo(ea,kf,()=>UT),Hf=Ws(({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),VT=Hf(),Bf=()=>Zo(ea,Hf,()=>VT),Uf=Ws(({phase:e,totalCount:t})=>({phase:e,totalCount:t}),(e,t)=>e.phase===t.phase&&e.totalCount===t.totalCount),WT=Uf(),Vf=()=>Zo(ea,Uf,()=>WT),Wf=e=>e.phase==="complete"&&!e.isRevalidating,Lf=e=>`${e.itemsRevision}:${Wf(e)}`,zf=()=>{let[,e]=MT(0),t=Hs(),r=Lf(t);return OT(()=>{let n=r,o=()=>{let a=Lf(Hs());a!==n&&(n=a,NT(()=>e(s=>s+1)))};return Xo.add(o),o(),()=>{Xo.delete(o)}},[]),{itemsRevision:t.itemsRevision,itemsChanges:t.itemsChanges,readRows:Of,settled:Wf(t)}};import.meta.hot?.dispose(bd);var zs=(e,t,r)=>{if(!Number.isFinite(e)||e<=0)throw Me("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 zT=3e4,Kf=e=>{let t=zs(zT,e,()=>{});return{add:r=>t.add(r,!0),has:r=>t.get(r)===!0}},Zn=(e,t)=>e.has(t)?e:new Set(e).add(t),$f=(e,t)=>{if(!e.has(t))return e;let r=new Set(e);return r.delete(t),r},jf=new Set,Gf=()=>new Set,Yf=()=>new Map,qf=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()}}}},Xf=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 Dd=0,Td=e=>{let t=ut("drawTemporaryId: nowMs",e,1);return Dd=Math.min(-t,Dd-1),Dd};var wr=(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 wd=kt(void 0,1,"ActionProvider"),KT=1e3,Ad=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportActionHttpError",this.status=r}},VP=Object.freeze(["delete","deleteComment"]),$T=e=>e.intent==="create"?null:e.reportHubId,jT=(e,t)=>{let r=e;if(r.intent==="clearCache"||r.clientTempId!==t.clientTempId)return!1;let n=$T(t);return n===null||r.reportHubId===n},GT="0".repeat(64),Qf=e=>{let{apiBasePath:t,labels:r,user:n,items:o,isSessionStillOurs:a,ownEchoIds:s,ledgers:i,writeLedgers:l,pendingAddPromises:d,removedIds:c,searchRemovedIds:u,setRemovedVersion:m,setRows:p,drafts:f,invalidateSearch:y,announceDataChange:S,notifyError:h}=e,D=async(w,_,A={})=>{let{intent:T}=w,{onGone:L}=_,{lockedReportHubId:F}=A,U=F===void 0?null:om(F);_.onOptimistic?.(),s.add(w.clientTempId);let j=()=>{if(!a())throw wd.warn(`[executeAction] ${T} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${T}`)};try{let G=await fetch(`${t}/${$e.action}`,{method:"POST",body:Is(w),headers:{Accept:"application/json"}});if(G.status===404&&L!==void 0)return j(),L();if(!G.ok)throw new Ad(T,G.status);let Q=yf(T,await G.json());if("mismatch"in Q)throw new Error(`[daily-report] ${T} answered a body that is not its result (${Q.mismatch})`);let{result:X}=Q;if(!jT(X,w))throw new Error(`[daily-report] ${T} answered another request`);return j(),_.onSuccess(X)}catch(G){throw wd.error(`${T} failed:`,G),a()&&(_.onFailure?.(),h({operation:T,message:r.operationFailed(T),cause:G})),G}finally{U?.()}},g=(w,_,A)=>({reportHubId:w,clientTempId:A,businessDate:typeof _=="string"?_:null,operationTimestamp:Date.now()});return{addComment:async(w,_,A)=>{let T=Td(Date.now()),L=D({...g(w,A,String(T)),intent:"addComment",content:_},{onOptimistic:()=>{l(({pendingAddCommentIds:F})=>{let U=F.get(w);U===void 0?F.set(w,new Map([[T,_]])):U.set(T,_)})},onSuccess:({newComment:F})=>{let U=F.id;l(({resolvedIdMap:G,pendingAddCommentIds:Q})=>{G.set(T,U),Q.get(w)?.delete(T)}),y();let j=ht(w,{ignoreExpiry:!0});return j&&!j.postedComments.some(G=>G.id===U)&&Ht(w,{postedComments:[...j.postedComments,{...F,isMine:!0,userName:wr(n,r.unknownUser)}]}),U},onFailure:()=>{l(({pendingAddCommentIds:F})=>F.get(w)?.delete(T))}}).finally(()=>d.current.delete(T));d.current.set(T,L),await L},deleteComment:async(w,_,A)=>{l(({pendingDeleteCommentIds:F})=>{let U=F.get(w);U===void 0?F.set(w,new Set([_])):U.add(_)});let T=_;if(_<0){let F=i.resolvedIdMap.current.get(_);if(F!==void 0)T=F;else{let U=d.current.get(_);if(!U)return;try{T=await U}catch{return}}}let L=()=>{let F=ht(w,{ignoreExpiry:!0});F&&(Ht(w,{postedComments:F.postedComments.filter(U=>U.id!==T)}),sm(T)),l(({pendingDeleteCommentIds:U})=>U.get(w)?.delete(_)),y()};await D({...g(w,A,crypto.randomUUID()),intent:"deleteComment",commentId:T},{onSuccess:L,onGone:L,onFailure:()=>{l(({pendingDeleteCommentIds:F})=>F.get(w)?.delete(_))}})},toggleStar:async(w,_,A)=>{await D({...g(w,A,crypto.randomUUID()),intent:"toggleStar",value:_},{onOptimistic:()=>{Ht(w,{isStarred:_}),l(({pendingStarUpdates:T})=>T.set(w,_))},onSuccess:({updatedStatus:T})=>{ht(w,{ignoreExpiry:!0})&&(Ht(w,{isStarred:T.isStarred}),S()),l(({pendingStarUpdates:L})=>L.delete(w))},onFailure:()=>{Ht(w,{isStarred:!_}),l(({pendingStarUpdates:T})=>T.delete(w))}})},toggleRead:async(w,_,A)=>{let T=Xu(_),L=ht(w,{ignoreExpiry:!0}),F=L?{isRead:L.isRead,readContentDigest:L.readContentDigest}:null,U=g(w,A,crypto.randomUUID());await D(_.isRead?{...U,intent:"toggleRead",value:!0,contentDigest:_.contentDigest}:{...U,intent:"toggleRead",value:!1},{onOptimistic:()=>{Ht(w,T),l(({pendingReadUpdates:j})=>j.set(w,T))},onSuccess:({updatedStatus:j})=>{ht(w,{ignoreExpiry:!0})&&(Ht(w,{isRead:j.isRead,readContentDigest:j.readContentDigest}),S()),l(({pendingReadUpdates:G})=>G.delete(w))},onFailure:()=>{F!==null&&Ht(w,F),l(({pendingReadUpdates:j})=>j.delete(w))}})},createReport:async w=>{let _=Td(Date.now()),A=new Date().toISOString(),T={reportHubId:_,date:w,createdAt:A,author:wr(n,r.unknownUser),userId:n===void 0?null:n.id,sourceType:vs,employeeName:wr(n,r.unknownUser),updatedBy:wr(n,r.unknownUser),updatedAt:A,category:null,creationCategory:null,visitTimeFrom:null,visitTimeTo:null,customerName:null,interviewers:[],subject:"",content:"",externalComments:[],isRead:!0,isStarred:!1,contentDigest:GT,readContentDigest:null,isDraft:!0,labels:[],postedComments:[],attachments:[]};nm(T,Date.now()+3e5,!1),p(L=>Ms(L,{reportHubId:_,businessDate:w},Number.NEGATIVE_INFINITY));try{let L=await D({intent:"create",clientTempId:String(_),businessDate:w,operationTimestamp:Date.now()},{onSuccess:j=>j.report}),F=L.reportHubId,U=Ed();return qn({reportHubId:F,businessDate:w}),am(F,KT),gr(F,L),S(),y(),p(j=>Ms(fn(j,_),{reportHubId:F,businessDate:w},U)),F}catch(L){throw wd.error("[createReport] Failed",L),p(F=>fn(F,_)),L}},updateReport:async(w,_,A)=>{await D({...g(w,A,crypto.randomUUID()),intent:"update",changes:{title:_.title,content:_.content}},{onSuccess:()=>{ht(w,{ignoreExpiry:!0})&&(Ht(w,{subject:_.title,content:_.content}),S()),y()}},{lockedReportHubId:w})},publishReport:async(w,_)=>{let A=ht(w,{ignoreExpiry:!0});await D({...g(w,_,crypto.randomUUID()),intent:"publish"},{onOptimistic:()=>{A&&(Ht(w,{isDraft:!1}),S())},onSuccess:({report:T})=>{T!==null&&(gr(w,T),S()),_!==void 0&&qn({reportHubId:w,businessDate:_}),y()},onFailure:()=>{A&&(Ht(w,{isDraft:A.isDraft}),S())}})},deleteReport:async(w,_)=>{let A=Am(o,w);c.current=Zn(c.current,w),u.current.add(w),m(L=>L+1),Xn(w),A!==void 0&&p(L=>wf(L,A));let T=()=>{is(w,_),f.discard(w),y()};try{await D({...g(w,_,crypto.randomUUID()),intent:"delete"},{onSuccess:T,onGone:T},{lockedReportHubId:w})}catch(L){if(!a())return;c.current=$f(c.current,w),u.current.delete(w),m(j=>j+1);let F=A===void 0?_:A.businessDate,U=Ed();throw F!==void 0&&qn({reportHubId:w,businessDate:F}),p(j=>{let G=Rd(j,w);return A===void 0?G:Ms(G,A,U)}),L}}}};var Zf=kt(void 0,1,"ActionProvider"),YT=3e4,Jf=e=>zs(YT,e,(t,r)=>{r.unsubscribe(),Zf.warn(`[SSE Queue] Expired: reportHubId=${t}, dropped=${r.messages.length} messages`)}),qT=(e,t)=>{t!==void 0&&qn({reportHubId:e,businessDate:t})},ey=e=>{let{user:t,userId:r,labels:n,isSessionStillOurs:o,ownEchoIds:a,ledgers:s,writeLedgers:i,removedIds:l,searchRemovedIds:d,setRemovedVersion:c,setRows:u,drafts:m,invalidateSearch:p,announceDataChange:f,pendingSseQueue:y,replay:S}=e,h=(g,R)=>{let b=y.get(g);if(b!==void 0){b.messages.push(R);return}let E;E={messages:[R],unsubscribe:im(g,()=>{if(y.get(g)===E&&ht(g,{ignoreExpiry:!0})){y.remove(g),E.unsubscribe(),Zf.info(`[SSE Queue] Replaying ${E.messages.length} messages for reportHubId=${g}`);for(let x of E.messages)S(x)}})},y.add(g,E)};return g=>{if(o()&&!a.has(g.clientTempId))switch(g.type!=="status-update"&&p(),g.type){case"comment-add":{let{comment:R,reportHubId:b}=g,E=ht(b,{ignoreExpiry:!0});if(E){if(E.postedComments.some(O=>O.id===R.id))return;let I=typeof r=="string"&&R.userId===r,x={...R,userName:R.userName||(I?wr(t,n.unknownUser):n.unknownUser),createdAt:R.createdAt||new Date().toISOString(),isMine:I},P={...E,postedComments:[...E.postedComments,x].sort((O,B)=>new Date(O.createdAt||0).getTime()-new Date(B.createdAt||0).getTime())};gr(b,P),kl(b),f()}else h(b,g);break}case"comment-delete":{let{commentId:R,reportHubId:b}=g,E=ht(b,{ignoreExpiry:!0});if(E){let I={...E,postedComments:E.postedComments.filter(x=>x.id!==R)};gr(b,I),kl(b),f()}else h(b,g);break}case"status-update":{let{statusType:R,value:b,reportHubId:E,readContentDigest:I}=g,x=ht(E,{ignoreExpiry:!0});if(R==="star")if(s.pendingStarUpdates.current.get(E)===b&&i(({pendingStarUpdates:P})=>P.delete(E)),x){let P={...x,isStarred:b,readContentDigest:I};gr(E,P),f()}else h(E,g);else if(R==="read"){let P=s.pendingReadUpdates.current.get(E);if(P!==void 0&&P.isRead===b&&P.readContentDigest===I&&i(({pendingReadUpdates:O})=>O.delete(E)),x){let O={...x,isRead:b,readContentDigest:I};gr(E,O),f()}else h(E,g)}break}case"report-delete":{let{reportHubId:R}=g;l.current=Zn(l.current,R),d.current.add(R),c(E=>E+1),Xn(R),u(E=>fn(E,R)),m.discard(R),y.remove(R)?.unsubscribe();let b=ht(R,{ignoreExpiry:!0});b?.date&&(is(R,b.date),f());break}case"report-create":case"report-update":case"report-publish":{let{report:R}=g;g.viewerIsActor?gr(R.reportHubId,R):lm(R),(g.type==="report-create"||g.type==="report-publish")&&qT(R.reportHubId,R.date),f();break}}}};import{memo as rw,useLayoutEffect as nw}from"react";import{systemSseRuntime as Ks}from"@aiquants/sse";import{createBrowserEventSource as XT}from"@aiquants/sse/client";import{useReopeningEventSource as QT}from"@aiquants/sse/react";import{useEffect as xd,useRef as $s,useState as ZT}from"react";var yn=kt(void 0,1,"SseConnection"),JT=Object.freeze({kind:"resyncing"}),ty={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},ew=1,ry=hl*3,tw=ry+hl,vd=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=q(),{streamAnchor:o,phase:a,isRevalidating:s,error:i}=Qn(),[l,d]=ZT({generation:0,minAnchorRevision:1,anchored:!1}),c=l.generation>0&&!l.anchored,u=c&&a==="complete"&&!s?i:null,m=$s(0),p=$s(null),f=$s(n);f.current=n;let y=$s(0);y.current=o===null?0:o.revision,xd(()=>{l.anchored||o===null||o.revision<l.minAnchorRevision||(p.current=o.lastEventId,m.current=0,d({...l,anchored:!0}))},[l,o]),xd(()=>{if(!e||u===null)return;let{initialDelayMs:h,maxDelayMs:D,multiplier:g}=ty,R=Ks.random()*Math.min(D,h*g**m.current);yn.warn(`SSE resync: the ids rescan gave up (${u.message}); rescanning in ${Math.round(R)} ms`);let b=Ks.setTimer(()=>{m.current+=1,Vs()},R);return()=>Ks.clearTimer(b)},[e,u]);let{status:S}=QT(e&&l.anchored?`${r}#${l.generation}`:null,{resolveUrl:({lastEventId:h})=>h===null?r:`${r}?${yp}=${encodeURIComponent(h)}`,initialLastEventId:p.current,withCredentials:!1,createEventSource:XT,runtime:Ks,backoff:ty,healthyOpenMs:tw,nativeRetryLimit:ew,giveUpAfterFailures:"never",terminalEvents:fp,heartbeat:{staleAfterMs:ry,onHeartbeat:null},events:{message:h=>{h.lastEventId!==""&&(Wa(h.lastEventId)?p.current=h.lastEventId:yn.warn("SSE event carried a malformed id; keeping the previous cursor:",h.lastEventId));try{let D=JSON.parse(h.data),g=Ep.safeParse(D);if(!g.success){yn.error("SSE Validation Error:",g.error.flatten(),"raw message:",D);return}if(g.data.type==="connected"){yn.info("SSE Subscribe Ready");return}t(g.data)}catch(D){yn.error("SSE Parse Error",D)}}}});return xd(()=>{if(S.kind==="faulted"){yn.error("SSE connection faulted:",S.error);return}if(S.kind==="terminated")switch(S.terminalEvent){case"auth-required":f.current();return;case"forbidden":yn.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let h=y.current+1;d(D=>({generation:D.generation+1,minAnchorRevision:h,anchored:!1})),Vs();return}}},[S]),e&&c?JT:S};var ny=Object.freeze({kind:"idle"}),Cd=rw(({isSseEnabled:e,onMessage:t,onStatus:r})=>{let n=vd({isSseEnabled:e,onMessage:t});return nw(()=>{r(n)},[n,r]),null});Cd.displayName="DailyReportSseConnectionHost";import{createContext as ow,useCallback as aw,useSyncExternalStore as oy}from"react";var ay=()=>{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)}}},Id=ow(null),zr=()=>Gt(Id,"useDailyReportDraftStore","DailyReportActionProvider"),sy=(e,t)=>aw(r=>e.subscribe(t,r),[e,t]),js=e=>{let t=zr(),r=()=>t.modeOf(e);return oy(sy(t,e),r,r)},iy=e=>{let t=zr(),r=()=>t.inputOf(e),n=oy(sy(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 Rw}from"@aiquants/swipe-overlay";import{createContext as hw,Fragment as bw,useCallback as Xs,useId as Ld,useLayoutEffect as Ey,useMemo as Sw,useRef as Rn,useState as hy}from"react";import{createPortal as by}from"react-dom";import{createContext as lw,useContext as dw}from"react";var sw=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),Gs={capture:!0},Ys=new WeakMap,iw=e=>{let t=o=>{sw.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,Gs),e.removeEventListener("pointerdown",r,Gs)}};return e.addEventListener("keydown",t,Gs),e.addEventListener("pointerdown",r,Gs),n},ly=e=>{let t=Ys.get(e),r=t===void 0?iw(e):t;t===void 0&&Ys.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),Ys.delete(e)))}},ta=e=>{let t=Ys.get(e);return t===void 0?null:t.last};var cw=Object.freeze({visibilityProperty:!0,opacityProperty:!0}),uw=Object.freeze({visibilityProperty:!0}),dy="data-daily-report-view-tabs",cy={[dy]:""},uy="data-daily-report-status-panel",py={[uy]:""},pw=e=>{for(let t of e.getClientRects())if(t.width>0&&t.height>0)return!0;return!1},my=e=>e.isConnected&&Wo(e)&&pw(e)&&e.checkVisibility(e.hasAttribute(hs)?uw:cw),Ar=e=>{for(let t of e)if(!(t===null||!my(t))&&(t.focus({preventScroll:!0}),tt(t)===t))return t;return null},mw=e=>e.querySelector(`[${dy}] [role="tab"][aria-selected="true"]`),_d=lw(null),fy=()=>{let e=dw(_d);if(e===null)throw new Error("[daily-report] useFocusViewRow is called outside a view's rows");return e},fw=(e,t,r)=>{if(on(e))return!0;if(r==="handOver")return!1;let n=tt(e);return n===null||!e.contains(n)?!1:r==="overlay"||n!==t},yy=(e,t,r)=>{if(r!=="pointer"||t===null)return e;let n=km(t);return n!==null&&my(n)?n:e},Ry=(e,t,r,n)=>fw(e,t,n)?Ar([yy(t,r,ta(e.ownerDocument))]):null,yw=e=>{let t=e.getAttribute("aria-activedescendant");return t===null?null:e.ownerDocument.getElementById(t)},qs=e=>{let t=Pm(e);return[t===null?null:yy(t,yw(t),ta(t.ownerDocument)),mw(e),e.querySelector(`[${uy}]`)]};import{jsx as or,jsxs as Ty}from"react/jsx-runtime";var gw=C("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-800 px-[15px] py-[7px] text-sm text-white shadow-lg motion-safe:animate-in motion-safe:duration-200 dark:border-red-500/60",kr),Ew="flex shrink-0 justify-center p-[8px]",Dw=C("flex size-6 shrink-0 items-center justify-center rounded font-bold text-white hover:bg-red-900",au),Tw="data-daily-report-notice-alert",ww={[Tw]:""},Dy=hw(null),Qs=()=>Gt(Dy,"useDailyReportErrorSurface","DailyReportErrorProvider"),Sy=Object.freeze([]),gy=({notice:e})=>or("div",{role:"alert",...ww,className:"sr-only",children:e===null?null:or("span",{children:e.info.message},e.occurrence)}),Aw=({notice:e,closeLabel:t,repeatedLabel:r,onDismiss:n})=>{let o=Rn(null),a=Rn(null),s=Rn(null),i=Rw(),l=Ld(),d=Ld(),c=Ld(),u=e.repeat>1?`${d} ${c}`:d,m=Xs(()=>{let y=o.current;if(y?.contains(y.ownerDocument.activeElement)){let[S,...h]=qs(y.ownerDocument);Ar([a.current,S,y.closest("dialog"),...h])}n()},[n]),p=y=>{if(s.current!==null)return;let S=y.relatedTarget;a.current=Pe(S)&&!y.currentTarget.contains(S)?S:null,s.current=i({id:l,onEscape:()=>(m(),!0)})},f=y=>{Pe(y.relatedTarget)&&y.currentTarget.contains(y.relatedTarget)||(s.current?.(),s.current=null,a.current=null)};return Ey(()=>()=>{s.current?.(),s.current=null},[]),Ty("div",{ref:o,role:"group","aria-labelledby":u,"data-testid":"daily-report-error-banner",className:gw,onFocus:p,onBlur:f,children:[or("span",{id:d,className:"min-w-0 font-medium",children:or(bw,{children:e.info.message},e.occurrence)}),e.repeat>1&&or("span",{id:c,className:"shrink-0 font-normal tabular-nums",children:r(e.repeat)}),or("button",{type:"button","aria-label":t,"aria-describedby":u,onClick:m,className:Dw,children:"\u2715"})]})},Nd=({children:e})=>{let{onError:t,labels:r}=q(),[n,o]=hy(null),[a,s]=hy(Sy),i=Rn(Sy),l=Rn(0),d=Rn(0),c=Rn(t);Ey(()=>{c.current=t});let u=Xs(D=>{let g=c.current;if(g){g(D);return}d.current+=1;let R=d.current,b=i.current,E=b.length===0?null:b[b.length-1].registration;o(I=>({info:D,occurrence:R,repeat:I!==null&&I.info.message===D.message?I.repeat+1:1,announcedIn:E}))},[]),m=Xs(D=>{l.current+=1;let g={element:D,registration:l.current};return i.current=[...i.current,g],s(i.current),()=>{i.current=i.current.filter(R=>R!==g),s(i.current)}},[]),p=Xs(()=>o(null),[]),f=Sw(()=>({notifyError:u,registerNoticeHost:m}),[u,m]),y=a.at(-1),S=n===null?null:or(Aw,{notice:n,closeLabel:r.close,repeatedLabel:r.noticeRepeated,onDismiss:p}),h=D=>n!==null&&n.announcedIn===D?n:null;return Ty(Dy.Provider,{value:f,children:[e,or(gy,{notice:h(null)}),a.map(D=>by(or(gy,{notice:h(D.registration)}),D.element,String(D.registration))),S!==null&&y!==void 0&&by(S,y.element),S!==null&&y===void 0&&or("div",{"data-daily-report-notice-slot":"",className:Ew,children:S})]})};import{jsx as Md,jsxs as vw}from"react/jsx-runtime";var Zs=kt(void 0,1,"ActionProvider"),ei=globalThis.__DailyReportActionsContext??vy(null);globalThis.__DailyReportActionsContext=ei;var ti=globalThis.__DailyReportActionStateContext??vy(null);globalThis.__DailyReportActionStateContext=ti;var Js="DailyReportActionProvider",lt=()=>Gt(ei,"useDailyReportActions",Js),ri=()=>Gt(ti,"useDailyReportActionState",Js),xw=()=>{let e=Gt(ei,"useDailyReportActionContext",Js),t=Gt(ti,"useDailyReportActionContext",Js);return Pd(()=>({...e,...t}),[e,t])},kd=({children:e,user:t,userId:r})=>{let{apiBasePath:n,labels:o}=q(),{notifyError:a}=Qs(),[s,i]=ar(0),[{ledgers:l,write:d}]=ar(()=>qf(()=>i(H=>H+1))),[c,u]=ar(0),[m,p]=ar(0),[f]=ar(ay),[y,S]=ar(!1),[h,D]=ar(ny),g=Od(!1),R=Xe(Yf),b=Od(jf),E=Xe(Gf),[I]=ar(()=>Kf(()=>performance.now())),[x]=ar(()=>Jf(()=>performance.now())),P=zf(),[O,B]=Tf(P,P.settled,b.current),w=O.items,_=`${c}:${O.settled?O.revision:"-"}`,A=()=>{u(H=>H+1)},T=()=>{i(H=>H+1)},L=wy(H=>E.current.has(H),[E]),F=wy(()=>Mf()===(r??null),[r]),U=async()=>{Zs.info("Refetching data without page reload..."),Jo(),T(),se.listeners.forEach(H=>{H(-1)})},j=async()=>{Zs.info("Clearing client & server/DB cache and refetching data without page reload..."),Uo(),b.current=new Set,E.current.clear(),p(H=>H+1),B(Af);try{sessionStorage.clear()}catch{}try{let H=await fetch(`${n}/${$e.action}`,{method:"POST",body:Is({intent:"clearCache"})});if(!H.ok){let ee=await H.json().catch(()=>null);Zs.warn("Failed to clear server-side cache:",H.status,ee)}}catch(H){Zs.warn("Failed to clear server-side cache:",H)}F()&&(Jo({forceRefresh:!0}),T(),se.listeners.forEach(H=>{H(-1)}))};xy(()=>()=>{for(let H of x.drain())H.unsubscribe()},[x]);let G=()=>{r&&(g.current=!0,S(H=>!H))};Ay(()=>{if(!r)return;let H=setTimeout(()=>{g.current||S(!0)},$p);return()=>clearTimeout(H)},[r]);let Q=H=>{F()&&(b.current=Zn(b.current,H),E.current.add(H),p(ee=>ee+1),Xn(H),B(ee=>fn(ee,H)),f.discard(H))};Ay(()=>{if(!O.settled)return;let H=new Set;for(let ee of b.current)Nf(ee)&&H.add(ee);H.size!==b.current.size&&(b.current=H)},[O.settled,O.revision]);let X={user:t,userId:r,labels:o,apiBasePath:n,items:w,isSessionStillOurs:F,ownEchoIds:I,ledgers:l,writeLedgers:d,pendingSseQueue:x,pendingAddPromises:R,removedIds:b,searchRemovedIds:E,setRemovedVersion:p,setRows:B,drafts:f,invalidateSearch:A,announceDataChange:T,replay:H=>V.current.handleSseMessage(H),notifyError:H=>V.current.notifyError(H)},fe=ey(X),De=Qf(X),N={toggleSse:G,...De,removeStaleItem:Q,refetchData:U,clearCacheAndRefetch:j,handleSseMessage:fe,notifyError:a},V=Od(N);xy(()=>{V.current=N});let[K]=ar(()=>Xf(V)),re=Pd(()=>({...l,...K.functions,user:t}),[l,K,t]),he=Pd(()=>({version:s,items:w,isSseEnabled:y,sseStatus:h,searchInvalidation:_,isReportRemoved:L,removedVersion:m}),[s,w,y,h,_,L,m]);return Md(Id.Provider,{value:f,children:Md(ei.Provider,{value:re,children:vw(ti.Provider,{value:he,children:[Md(Cd,{isSseEnabled:y,onMessage:K.onSseMessage,onStatus:D}),e]})})})};var Cy=(e,t)=>e.split(t).length-1,Iy=(e,t,r)=>{let n=e("\uE000","\uE001");if(Cy(n,"\uE000")!==1||Cy(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 Hw,useLayoutEffect as Bw,useMemo as Ud}from"react";import{createContext as My,createElement as Nw,useCallback as Oy,useContext as Bd,useDeferredValue as Ow,useLayoutEffect as Mw,useMemo as Hd,useSyncExternalStore as Pw}from"react";var _y=Object.freeze({subject:"subject",content:"content",author:"author",employeeName:"author",updatedBy:"updatedBy",category:"category",creationCategory:"creationCategory",customerName:"customer",interviewer:"interviewers",attachment:"attachments",comment:"comments"}),Cw=e=>Object.hasOwn(_y,e),Iw=e=>{let t=e.indexOf(":"),r=t===-1?e:e.slice(0,t);if(!(Gn(e)&&Cw(r)))throw new Error(`[daily-report] A search mark leaf carries an unknown field key: ${e}`);return _y[r]},_w=Object.freeze([]),Ly=(e,t)=>e.map(({heading:r,matchedBy:n})=>n==="reading"?t.searchFieldMatchedByReading(t[r]):t.searchFieldMatched(t[r])).join(" "),Fd=e=>e.words>0||e.dense>0?"word":e.readings>0?"reading":null,Lw=(e,t)=>e.length===t.length&&e.every((r,n)=>r.heading===t[n].heading&&r.matchedBy===t[n].matchedBy),Ny=()=>{let e=new Map,t=new Map,r=new Set,n=null,o=0,a=0,s=_w,i=!1,l=Object.freeze({entry:n,isCurrent:!0,count:o,fields:s}),d=!1,c=l,u=!1,m=g=>!g.isCurrent||g.entry!==n,p=()=>{let g=[];for(let[R,b]of t){let E=Fd(b);E!==null&&g.push(Object.freeze({heading:R,matchedBy:E}))}return Object.freeze(g)},f=()=>{if(!d)return l;d=!1;for(let[R,b]of t)b.leaves===0&&t.delete(R);let g=a===0;if(i){i=!1;let R=p();Lw(R,s)||(s=R)}return l.entry===n&&l.isCurrent===g&&l.count===o&&l.fields===s||(l=Object.freeze({entry:n,isCurrent:g,count:o,fields:s})),l},y=()=>{u=!1;let g=f();if(g!==c){c=g;for(let R of[...r])R()}},S=()=>{d=!0,!u&&(u=!0,queueMicrotask(y))},h=g=>{let R=t.get(g);if(R!==void 0)return R;let b={leaves:0,words:0,readings:0,dense:0};return t.set(g,b),b},D=(g,R)=>{o+=R*(g.words+g.readings),m(g)&&(a+=R);let b=h(g.heading),E=Fd(b);b.leaves+=R,b.words+=R*g.words,b.readings+=R*g.readings,g.dense&&(b.dense+=R),Fd(b)!==E&&(i=!0)};return{register:g=>{let R={...g,heading:Iw(g.fieldKey)},b=Object.freeze({});return e.set(b,R),D(R,1),S(),b},unregister:g=>{let R=e.get(g);R!==void 0&&(e.delete(g),D(R,-1),S())},settle:g=>{if(g!==n){n=g,a=0;for(let R of e.values())m(R)&&(a+=1);S()}},subscribe:g=>(r.add(g),()=>{r.delete(g)}),getSnapshot:f}};var pt=My(null),Py=My(null),ra=()=>{let e=Bd(Py);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},kw=()=>{},Fw=()=>kw,ky=e=>{let t=Bd(pt),r=Oy(i=>t===null?Fw():t.subscribe(e,i),[t,e]),n=Oy(()=>{let i=t===null?void 0:t.read(e);return i===void 0?null:i},[t,e]),o=Pw(r,n,n),a=Hd(()=>t===null||o===null?null:{store:t,entry:o},[t,o]),s=Ow(a,a===null?void 0:null);return s!==null&&s.store===t?s.entry:null},Jn=({reportHubId:e,entry:t,children:r})=>{let n=Bd(pt),o=Hd(()=>n===null?null:Ny(),[n]),a=Hd(()=>n===null||o===null?null:{entry:t,revalidate:(s,i)=>n.revalidate(e,s,i),tally:o,indicator:n.indicator},[n,o,t,e]);return Mw(()=>{o!==null&&o.settle(t)},[o,t]),Nw(Py.Provider,{value:a},r)};import{jsx as Hy}from"react/jsx-runtime";var Uw="data-daily-report-search-mark",Vw=Object.freeze({[Nn.word]:Object.freeze({attribute:"word",description:null}),[Nn.reading]:Object.freeze({attribute:"reading",description:"searchReadingMarkDescription"})}),Fy=e=>{if(!Mo(e))throw new Error(`[daily-report] A search mark carries an unknown tier: ${e}`);return Vw[e]},Ww=Object.freeze({words:0,readings:0}),zw=e=>{if(e===null)return Ww;let t=0;for(let r=2;r<e.length;r+=3)Fy(e[r]).attribute==="reading"&&(t+=1);return{words:e.length/3-t,readings:t}},Kw=(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=Fy(t[a+2]);s>o&&n.push(e.slice(o,s)),n.push(Hy("mark",{[Uw]:l.attribute,"aria-description":l.description===null?void 0:r[l.description],className:Cu,children:e.slice(s,i)},`m${s}`)),o=i}return o<e.length&&n.push(e.slice(o)),n},$w=({fieldKey:e,raw:t,display:r})=>{let{entry:n,revalidate:o,tally:a}=ra(),{labels:s}=q(),i=typeof t=="string"?t:"",l=Ud(()=>n===null||i.length===0?null:dd(i),[n,i]),d=n===null?void 0:n.fields[e],c=d!==void 0&&l!==null&&d.fingerprint===l?d:null,u=c!==null&&"ranges"in c?c.ranges:null,m=c!==null&&"dense"in c,p=c!==null,f=Ud(()=>u===null?null:Uu(r,u),[u,r]),y=Ud(()=>zw(f),[f]);return Bw(()=>{if(l===null)return;p||o(e,l);let S=a.register({entry:n,isCurrent:p,fieldKey:e,words:y.words,readings:y.readings,dense:m});return()=>a.unregister(S)},[a,o,n,l,p,e,y,m]),f===null||f.length===0?r.text:Kw(r.text,f,s)},ge=({fieldKey:e,raw:t,display:r})=>Hw(pt)===null?r.text:Hy($w,{fieldKey:e,raw:t,display:r});import{jsx as Gw}from"react/jsx-runtime";var jw={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},Kr=Object.freeze({2:3,3:4,4:5,5:6}),wt=({level:e,...t})=>{let r=jw[e];return Gw(r,{...t})};import{memo as vR,useId as GA,useMemo as YA,useRef as CR}from"react";var By=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var Wd="tile",oa=By[Wd],Yw=2,na=16,Uy=5,Vy=oa.maxWidth/Yw,qw=Uy*(Vy+na)-na,Wy=e=>{let t=Math.min(Uy,1+Math.floor((e+na)/(Vy+na)));return Math.floor((Math.min(e,qw)-(t-1)*na)/t)},Vd=`round(nearest, 100cqi * ${oa.maxHeight} / ${oa.maxWidth}, 1px)`,zy=Object.freeze({aspectRatio:`${oa.maxWidth} / ${oa.maxHeight}`,height:Vd,contain:"strict"}),Xw="--aqdr-lattice-block",Ky=Object.freeze({marginBlockEnd:`calc(round(up, ${Vd}, var(${Xw})) - ${Vd})`});var Qw="download",Zw="thumbnail",Jw="1",eo=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[Qw]:Jw})}`;case"thumbnail":return`${n}?${new URLSearchParams({[Zw]:r.variant})}`}};import{createContext as jy,useCallback as eA,useContext as Gy,useMemo as tA,useState as rA}from"react";var zd=jy(null),Kd=jy(null),$y=(e,t)=>{if(t){e.hasAttribute("tabindex")&&e.removeAttribute("tabindex");return}e.getAttribute("tabindex")!=="-1"&&e.setAttribute("tabindex","-1")},Yy=e=>{let t=new Map,r=null,n=!1,o=(d,c)=>{let u=d===null?void 0:t.get(d);if(u!==void 0)for(let m of u)$y(m,c)},a=()=>{let d=e.getActiveId();o(r,!1),o(d,!0),r=d},s=d=>e.getActiveId()===d,i=(d,c)=>{n||(n=!0,r=e.getActiveId(),e.subscribeActive(a));let u=t.get(d);u===void 0&&(u=new Set,t.set(d,u));let m=u;return m.add(c),$y(c,d===r),()=>{m.delete(c),m.size===0&&t.delete(d)}};return{isActive:s,attach:i,scopeOf:d=>({isActive:()=>s(d),attach:c=>i(d,c)})}},qy=e=>{let t=Gy(zd);if(t===null)throw new Error("[daily-report] useRowControlScope is called outside a view's rows (no control registry)");return tA(()=>t.scopeOf(e),[t,e])},nA=(e,t)=>{if(typeof e!="function")return e.current=t,()=>{e.current=null};let r=e(t);return typeof r=="function"?r:()=>{e(null)}},to=e=>{let t=Gy(Kd),[r]=rA(()=>t===null||t.isActive()?void 0:-1),n=eA(o=>{let a=e===void 0?null:nA(e,o),s=t===null?null:t.attach(o);return()=>{s!==null&&s(),a!==null&&a()}},[t,e]);return{tabIndex:r,ref:n}},Xy=(e,t)=>{let{before:r,after:n}=Vo(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null},Qy=(e,t,r)=>{if(t===null)return!r&&cs(e).length>0;if(!e.contains(t))return!1;let{before:n,within:o,after:a}=Vo(e,t);return r?n.length>0:o.length>0||a.length>0};import{createContext as dA,useContext as cA,useLayoutEffect as uA,useMemo as aR,useState as pA}from"react";import{flushSync as mA}from"react-dom";import{flushSync as oA}from"react-dom";var $d=new WeakMap,Zy=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,Jy=e=>e.overflowWidth!==null&&e.overflowWidth!==e.handedOverflowWidth,aA=(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},eR=(e,t,r)=>{let n=aA(e,t);return n===null||n.handedTrackWidth===null||r<=n.handedTrackWidth?null:{track:n,trackWidth:n.handedTrackWidth}},sA=e=>{e.frame=null;let t=new Map;for(let r of e.observations.values())Zy(r)&&t.set(r,r.observedTrackWidth);for(let[r,n]of e.fittedNames){if(!Jy(n))continue;let o=n.overflowWidth;n.handedOverflowWidth=o;let a=eR(e,r,o);a===null||t.has(a.track)||t.set(a.track,a.trackWidth)}t.size!==0&&oA(()=>{for(let[r,n]of t)r.handedTrackWidth=n,r.onTrackWidth(n)})},iA=(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(eR(e,r.target,n)!==null){a.overflowWidth=n;continue}a.overflowWidth=null,a.handedOverflowWidth=null}}e.frame!==null||!([...e.observations.values()].some(Zy)||[...e.fittedNames.values()].some(Jy))||(e.frame=e.view.requestAnimationFrame(()=>sA(e)))},lA=e=>{let t=$d.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=>iA(n,o)),observations:new Map,fittedNames:new Map,frame:null};return $d.set(e,n),n},tR=(e,t)=>{let r=lA(e.ownerDocument);if(r.observations.has(e)||r.fittedNames.has(e))throw new Error(t);return r},rR=(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(),$d.delete(e.view.document))},nR=(e,t,r)=>{let n=tR(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),rR(n,e))}},oR=e=>{let t=tR(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),rR(t,e))}};import{jsx as sr,jsxs as dR}from"react/jsx-runtime";var Yd="\u2026",fA=Yd.codePointAt(0),sR=Object.freeze({text:Yd,runs:Object.freeze([])}),ni="data-attachment-file-name",yA=Ve("block min-w-0"),RA="block w-fit whitespace-nowrap",hA=new Set([" ","\xA0","\u1361","\u{10100}","\u{10101}","\u{1039F}","\u{1091F}"," ",`
|
|
5
|
-
`,"\f","\r"]),bA=/^-?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?px$/,qd=({fileName:e})=>sr("span",{className:Jt,children:e}),SA=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,gA=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,Xd=dA(null),cR=e=>{let t=e.text.lastIndexOf(".");return t<=0||t===e.text.length-1?{stem:e,extension:Ot("")}:{stem:To(e,0,t),extension:To(e,t,e.text.length)}},jd=(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 To(e,0,o.slice(0,a).join("").length)},EA=(e,t,r)=>{if(r(e)<=t)return Ot(e);let{stem:n,extension:o}=cR(Bu(e)),a=t/2,s=r(o.text)<=a?o:Cn([jd(o,Yd,a,r),sR]);if(r(n.text+s.text)<=t)return Cn([n,s]);let i=Cn([sR,s]);return r(i.text)>t?jd(i,"",t,r):Cn([jd(n,i.text,t,r),i])},iR=new WeakMap,uR=e=>{let t=iR.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 iR.set(e,n),n},pR=(e,t,r)=>`${e}|${t}|${r}`,DA=(e,t,r,n)=>{let o=pR(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+=hA.has(d)?r+n:r;return e.context.measureText(i).width+l};return e.measures.set(o,s),s},mR=e=>{let t=new Set;for(let r of e.matchAll(SA)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},lR=e=>e==="normal"?0:bA.test(e)?Math.max(Number.parseFloat(e),0):null,TA=e=>{let t=getComputedStyle(e),r=lR(t.letterSpacing),n=lR(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:mR(t.fontFamily),measure:DA(uR(e.ownerDocument),o,r,n)}},wA=(e,t)=>e===t||e!==null&&t!==null&&e.width===t.width&&e.measure===t.measure,AA=e=>{let t=new Set([fA]);for(let r of e.querySelectorAll(`[${ni}]`)){let n=r.getAttribute(ni);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},xA=(e,t)=>{for(let r of e.split(",")){let n=gA.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},Gd=new WeakMap,fR=e=>{let t=Gd.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return Gd.set(e,r),r},yR=(e,t)=>{let r=TA(e.container.querySelector(`[${ni}]`));if(r===null){e.fitted=null,e.applyFit(null);return}e.fitted={trackWidth:t,nameFont:r};let n=fR(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=CA(n)),e.applyFit({width:t,measure:r.measure})},vA=(e,t)=>{let r=t.map(o=>({families:mR(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=AA(o.container);s.some(l=>xA(l.unicodeRange,i))&&(uR(e.document).measures.delete(pR(a.nameFont.font,a.nameFont.letterSpacing,a.nameFont.wordSpacing)),n.push([o,a.trackWidth]))}n.length!==0&&mA(()=>{for(let[o,a]of n)yR(o,a)})},CA=e=>{let t=e.document.fonts,r=n=>{vA(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},IA=(e,t,r)=>{let n={container:e,applyFit:r,fitted:null},o=nR(e,t,s=>yR(n,s)),a=fR(e.ownerDocument);return a.registrations.add(n),()=>{o(),a.registrations.delete(n),!(a.registrations.size>0)&&(a.stopWatchingFonts?.(),Gd.delete(a.document))}},RR=(e,t)=>{let[r,n]=pA(null);return uA(()=>{let o=e.current;return IA(o,t,s=>{n(i=>wA(i,s)?i:s)})},[e,t]),r},hR=({containerRef:e,children:t})=>{let r=RR(e,Wy);return sr(Xd,{value:r,children:t})},_A=e=>e,bR=({containerRef:e,children:t})=>{let r=RR(e,_A);return sr(Xd,{value:r,children:t})},aa=({fileName:e,attachmentIndex:t,className:r,testId:n})=>{let o=cA(Xd),a=aR(()=>o===null?null:EA(e,o.width,o.measure),[e,o]),{stem:s,extension:i}=aR(()=>cR(Ot(e)),[e]),l=we.attachment(t);return dR("span",{className:yA(r),title:e,"data-testid":n,[ni]:e,children:[a===null?dR("span",{"aria-hidden":"true",className:"flex min-w-0",children:[sr("span",{className:"truncate",children:sr(ge,{fieldKey:l,raw:e,display:s})}),i.text!==""&&sr("span",{className:"max-w-1/2 shrink-0 truncate",children:sr(ge,{fieldKey:l,raw:e,display:i})})]}):sr("span",{ref:oR,"aria-hidden":"true",className:RA,children:sr(ge,{fieldKey:l,raw:e,display:a})}),sr(qd,{fileName:e})]})};import PA from"lucide-react/dist/esm/icons/image-off.js";import{memo as kA,useCallback as Jd,useEffect as FA,useLayoutEffect as HA,useRef as ec,useState as BA}from"react";var oi=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),SR=oi.queueWaitMs+oi.readMs+oi.renderMs+oi.transferMarginMs;var LA=Object.freeze({kind:"loaded"}),gR=(e,t,r,n,o)=>{let{limiter:a,tuning:s}=n,i="watching",l=null,d=null,c=null,u=null,m=null,p=_=>(_!==null&&n.clearTimeout(_),null),f=()=>{u?.(),u=null},y=()=>{m?.(),m=null},S=_=>_===null||_.kind==="loaded"?0:_.kind==="failing"?_.failedAttempts:s.maxAttempts,h=_=>{i="cooling",c=n.setTimeout(P,_)},D=()=>{o.abortInFlight(),y();let _=S(r.get(t))+1;if(_>=s.maxAttempts){i="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:_,retryAt:n.now()+s.retryDelayMs}),o.reset(),h(s.retryDelayMs)},g=_=>{if(i==="loading"){if(d=p(d),!_){D();return}i="done",r.set(t,LA),y()}},R=()=>{d=null,g(!1)},b=()=>{i="loading",o.showActivity(!0),f(),d=n.setTimeout(R,s.loadTimeoutMs),o.grant()},E=()=>{l=null,i="queued",m=a.request(b)},I=()=>{l===null&&(l=n.setTimeout(E,s.settleMs))},x=_=>{if(o.showActivity(_),_){i==="watching"&&I();return}if(i==="queued"){y(),i="watching";return}l=p(l)},P=()=>{c=null,i="watching",o.showActivity(!1),u=n.observe(e,x)},O=()=>{let _=i==="loading";i="done",f(),l=p(l),d=p(d),c=p(c),o.showActivity(!1),_&&(o.abortInFlight(),m!==null&&o.reset()),y()},B=r.get(t);if(B?.kind==="loaded")return i=o.shows()?"done":"loading",o.grant(),{settle:g,dispose:O};if(B?.kind==="exhausted"){if(n.now()-B.failedAt<s.failureMemoryMs)return i="done",o.exhausted(),{settle:g,dispose:O};r.delete(t)}o.reset();let w=B?.kind==="failing"?B.retryAt-n.now():0;return w>0?h(w):P(),{settle:g,dispose:O}};var NA=e=>{ut("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())}}}},ER=NA(2);var OA=e=>{ut("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)}}},Qd=OA(1024);var Zd=new WeakMap,MA=e=>{let t=Zd.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 Zd.set(e,a),a},DR=(e,t)=>{let r=e.ownerDocument,n=MA(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(),Zd.delete(r)))}};import{jsx as sa,jsxs as jA}from"react/jsx-runtime";var UA={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},VA="data-thumbnail-active",WA="data-daily-report-attachment-preview",wR={[WA]:""},zA=Object.freeze({settleMs:250,loadTimeoutMs:SR,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),TR=e=>{let t=Qd.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},KA=()=>({limiter:ER,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:DR,tuning:zA}),$A=(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(VA,o)}}),AR=kA(({thumbnailUrl:e,unavailableLabel:t})=>{let r=ec(null),n=ec(null),o=ec(null),[a,s]=BA(()=>TR(e));a.url!==e&&s(TR(e)),HA(()=>{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]),FA(()=>{let c=r.current,u=gR(c,e,Qd,KA(),$A(e,c,s,n));return o.current=u,()=>{o.current=null,u.dispose()}},[e]);let i=Jd(c=>{c!==null&&(n.current=c)},[]),l=Jd(()=>{s(c=>c.status==="granted"?{url:c.url,status:"loaded"}:c),o.current?.settle(!0)},[]),d=Jd(()=>{o.current?.settle(!1)},[]);return sa("span",{className:"block",children:sa("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":UA[a.status],style:zy,className:"relative block w-full",children:sa("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"?jA("span",{className:`flex size-full flex-col items-center justify-center gap-1 px-2 text-center ${de} text-xs ${fr}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[sa(PA,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):sa("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 Be,jsxs as ir}from"react/jsx-runtime";var xR=1024,tc=["B","KB","MB","GB"],IR=`${de} text-sm line-through`,qA="relative truncate",XA=Ve(qA),QA=C("relative ml-auto shrink-0 rounded-sm 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:decoration-slate-600 dark:hover:text-slate-200",de,le),ZA="text-blue-800 text-sm dark:text-blue-300 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover_&]:underline",JA="text-blue-800 text-sm hover:underline dark:text-blue-300",ex=`flex h-4 min-w-0 items-center gap-2 ${de} text-xs tabular-nums`,tx=`${de} text-xs tabular-nums`,rx=C("flex min-w-0 flex-col gap-2 rounded-lg",le),nx=C("flex min-w-0 rounded-sm",le),ox=C("m-0",en),ax=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=xR&&r<tc.length-1;)t/=xR,r+=1;return r===0?`${t} ${tc[r]}`:`${t.toFixed(1)} ${tc[r]}`},sx=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}},_R=({attachment:e,labels:t,className:r})=>ir("span",{className:XA(r),children:[ax(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),rc=({href:e,children:t,...r})=>{let n=to();return Be("a",{href:e,...r,...n,children:t})},LR=({downloadUrl:e,label:t,fileName:r})=>ir(rc,{href:e,className:QA,"data-testid":"daily-report-attachment-download",children:[t," ",Be(qd,{fileName:r})]}),ix=vR(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=Be(AR,{thumbnailUrl:eo(r,e.id,{kind:"thumbnail",variant:Wd}),unavailableLabel:n.attachmentThumbnailUnavailable}),a=e.state==="absent";return ir("li",{className:"@container flex min-w-0 flex-col gap-1","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[a?ir("div",{className:"flex min-w-0 flex-col gap-2",children:[o,Be(aa,{fileName:e.fileName,attachmentIndex:t,className:IR,testId:"daily-report-attachment-name"})]}):ir(rc,{href:eo(r,e.id,{kind:"inline"}),className:rx,"data-testid":"daily-report-attachment-link",...wR,children:[o,Be(aa,{fileName:e.fileName,attachmentIndex:t,className:ZA})]}),ir("div",{className:ex,style:Ky,children:[Be(_R,{attachment:e,labels:n}),!a&&Be(LR,{downloadUrl:eo(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})]})}),lx=vR(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=e.state==="absent",a=CR(null);return ir("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:[Be(bR,{containerRef:a,children:Be("div",{ref:a,className:"flex min-w-0 flex-1","data-testid":"daily-report-attachment-name-track",children:ir("div",{className:"flex min-w-0 flex-col",children:[o?Be(aa,{fileName:e.fileName,attachmentIndex:t,className:IR,testId:"daily-report-attachment-name"}):Be(rc,{href:eo(r,e.id,{kind:"inline"}),className:nx,"data-testid":"daily-report-attachment-link",children:Be(aa,{fileName:e.fileName,attachmentIndex:t,className:JA})}),Be(_R,{attachment:e,labels:n,className:tx})]})})}),!o&&Be(LR,{downloadUrl:eo(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})}),dx=({entries:e,headingId:t,apiBasePath:r,labels:n})=>{let o=CR(null);return Be(hR,{containerRef:o,children:Be("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:Be("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})=>Be(ix,{attachment:a,attachmentIndex:s,apiBasePath:r,labels:n},a.id))})})})},ai=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=q(),o=GA(),{tiles:a,rows:s}=YA(()=>sx(e),[e]);return e.length===0?null:ir("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[Be(wt,{level:Kr[n],id:o,className:ox,children:r.attachments}),ir("div",{className:"flex flex-col gap-4",children:[a.length>0&&Be(dx,{entries:a,headingId:o,apiBasePath:t,labels:r}),s.length>0&&Be("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:s.map(({attachment:i,index:l})=>Be(lx,{attachment:i,attachmentIndex:l,apiBasePath:t,labels:r},i.id))})]})]})};import{useOverlayEscapeStack as Cx}from"@aiquants/swipe-overlay";import{memo as HR,useCallback as di,useEffect as MR,useId as BR,useLayoutEffect as Ix,useRef as sc,useState as _x}from"react";import{useCallback as NR,useMemo as cx,useState as ux}from"react";var px=()=>[],nc=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:s,deleteComment:i}=lt(),{version:l}=ri(),{labels:d}=q(),c=d.unknownUser,[u,m]=ux(null),p=NR(h=>e&&i(e.reportHubId,h,e.date),[e,i]),f=NR(h=>e&&t?s(e.reportHubId,h,e.date):Promise.resolve(),[e,t,s]),y=Xe(px);return{uiComments:cx(()=>{if(!e)return[];let h=uf(e.externalComments,e.postedComments,r,c),D=o.current.get(e.reportHubId);D?.size&&(h=h.filter(R=>!D.has(R.id)));let g=n.current.get(e.reportHubId);if(g?.size&&t){let R=new Set(h.map(x=>x.id)),b=wr(t,""),E=b==="",I=E?c:b;for(let[x,P]of g){if(D?.has(x)||R.has(x))continue;let O=a.current.get(x);O&&R.has(O)||h.some(B=>B.isMine&&B.content===P&&typeof B.id=="number"&&B.id>0)||h.push({id:x,authorName:I,content:P,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1,isAuthorUnknown:E})}}return JSON.stringify(h)===JSON.stringify(y.current)?y.current:(y.current=h,h)},[e,t,r,c,o,n,a,l]),handleAddComment:f,handleDeleteComment:p,pendingDeleteId:u,setPendingDeleteId:m,resolvedIdMap:a.current}};import{Fragment as mx,jsx as fx}from"react/jsx-runtime";var rt=({render:e,elementRef:t})=>{let r=to(t);return fx(mx,{children:e(r)})};import yx from"@heroicons/react/24/outline/TrashIcon.js";import{memo as Rx,useId as hx,useMemo as OR,useRef as bx,useState as Sx}from"react";import{jsx as lr,jsxs as si}from"react/jsx-runtime";var oc="data-comment-id",ii="data-comment-delete-button",li="data-comment-delete-slot",gx=C(it,cu),Ex=Array.from({length:8},(e,t)=>C("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")),Dx=(e,t,r)=>(e?4:0)+(t?2:0)+(r?1:0),Tx=Ve("font-semibold text-xs"),wx=`${de} text-xs`,Ax="relative flex h-5 items-center",xx=C(Je,"motion-safe:fade-in motion-safe:zoom-in-95 absolute top-full right-0 z-20 mt-1 whitespace-nowrap bg-red-800 font-bold text-white text-xs shadow-lg hover:bg-red-900 active:bg-red-950 motion-safe:animate-in motion-safe:duration-200",le),vx=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,ac=Rx(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:s,onBeforeHide:i,resolvedIdMap:l})=>{let[d,c]=Sx(!1),{labels:u}=q(),m=hx(),p=bx(null),f=vx(e.id,o,l),y=OR(()=>Ke(e.authorName),[e.authorName]),S=OR(()=>Ot(e.content),[e.content]),h=we.comment(e.id,"author"),D=we.comment(e.id,"content"),g=Gn(D),R=e.isMine&&!e.isLegacy,b=!!e.createdAt||R,E=()=>{let x=p.current;x!==null&&i(x),a(null),c(!0),typeof e.id=="number"&&n?.(e.id)},I=x=>{if(!f)return;let P=x.relatedTarget;Pe(P)&&x.currentTarget.contains(P)||a(null)};return si("li",{[oc]:e.id,"data-deleted":d?"true":void 0,className:Ex[Dx(e.isMine,d,f)],children:[si("div",{className:"mb-1 flex items-center justify-between",children:[lr("div",{className:Tx(pf(e.color)),children:g&&!e.isAuthorUnknown?lr(ge,{fieldKey:h,raw:e.authorName,display:y}):y.text}),b&&si("div",{className:"flex items-center gap-2",children:[e.createdAt&&lr("div",{className:wx,children:Ne(e.createdAt)}),R&&si("div",{[li]:e.id,className:Ax,onBlur:I,children:[lr(rt,{elementRef:p,render:x=>lr("button",{type:"button",...x,className:gx,title:u.commentDelete,"aria-label":u.commentDelete,"aria-expanded":f,"aria-controls":f?m:void 0,[ii]:e.id,onClick:()=>s(e.id,f),children:lr(yx,{"aria-hidden":"true",className:f?et.deletePending:et.delete})})}),f&&lr(rt,{render:x=>lr("button",{id:m,type:"button",...x,"data-delete-confirmation":!0,className:xx,onClick:E,children:u.commentDeleteConfirm})})]})]})]}),lr("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:g?lr(ge,{fieldKey:D,raw:e.content,display:S}):e.content})]})});ac.displayName="DailyReportPostedComment";import{Fragment as Wx,jsx as Ut,jsxs as ic}from"react/jsx-runtime";var Lx="data-daily-report-comment-section",Nx="data-daily-report-comment-heading",Ox=C(mr,le),Mx=Ve("flex flex-col gap-2"),UR=(e,t)=>e>0||t,Px=C("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",pr,le),kx=C("h-9 rounded-lg bg-blue-800 px-4 font-medium text-sm text-white hover:bg-blue-900 disabled:opacity-50",le),PR=e=>e.querySelector(`[${ii}][aria-expanded="true"]`),Fx=(e,t,r)=>{let n=[...e.querySelectorAll(`[${ii}]`)].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(`[${oc}]`)].filter(i=>!i.contains(t)&&i.closest("[data-deleted]")===null).length;return UR(s,r)?{kind:"heading"}:{kind:"report"}},Hx=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:s,canComment:i,headingRef:l,onSectionRemoved:d})=>{let c=sc(null),u=Cx(),m=BR(),p=o!==null,f=di(()=>{let h=c.current,D=h===null?null:PR(h),g=D===null?null:D.closest(`[${li}]`),R=h===null?null:tt(h);a(null),D!==null&&g!==null&&R!==null&&g.contains(R)&&D.focus({preventScroll:!0})},[a]);MR(()=>{if(p)return u({id:m,onEscape:()=>(f(),!0)})},[p,u,m,f]),MR(()=>{let h=c.current;if(!p||h===null)return;let D=h.ownerDocument,g=R=>{let b=PR(h)?.closest(`[${li}]`);b!=null&&Pe(R.target)&&b.contains(R.target)||a(null)};return D.addEventListener("pointerdown",g,!0),()=>D.removeEventListener("pointerdown",g,!0)},[p,a]);let y=di((h,D)=>{D?f():a(h)},[f,a]),S=di(h=>{let D=c.current;if(D===null)return;let g=Fx(D,h,i);if(g.kind==="report"){d();return}let R=g.kind==="trash"?g.button:l.current;if(R===null)throw new Error("[daily-report] the comment section's heading is not attached");R.focus({preventScroll:!0})},[i,l,d]);return e.length===0?null:Ut("ul",{ref:c,className:"space-y-2",children:e.map(h=>Ut(ac,{comment:h,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:y,onBeforeHide:S,resolvedIdMap:s},h.id))})},kR=({headingId:e,className:t,children:r,...n})=>{let{labels:o,headingLevel:a}=q(),s=sc(null);return UR(n.comments.length,n.canComment)?ic("div",{[Lx]:"",className:Mx(t),children:[Ut(wt,{ref:s,id:e,level:Kr[a],tabIndex:-1,[Nx]:"",className:Ox,children:o.comments}),Ut(Hx,{...n,headingRef:s}),r]}):null},VR=HR(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:s,onDeleteComment:i,pendingDeleteId:l,onPendingDeleteIdChange:d,resolvedIdMap:c})=>{let u=BR(),m=t?Ut(Vx,{onAddComment:s,pushedToEnd:n==="after-section",labelledBy:u}):null,p={headingId:u,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"?Ut(kR,{...p,children:m}):ic(Wx,{children:[Ut(kR,{...p}),m]})});VR.displayName="ReportCommentsView";var ia=HR(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:s})=>{let{user:i}=lt(),{uiComments:l,handleAddComment:d,handleDeleteComment:c,pendingDeleteId:u,setPendingDeleteId:m,resolvedIdMap:p}=nc(e,i,t),f=af(),y=sc(!1);Ix(()=>{y.current&&f(),y.current=!0},[l,u,f]);let S=di(async h=>{await d(h),n?.()},[d,n]);return Ut(VR,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:s,comments:l,onAddComment:S,onDeleteComment:c,pendingDeleteId:u,onPendingDeleteIdChange:m,resolvedIdMap:p})});ia.displayName="ReportComments";var Bx="flex gap-2",Ux="mt-auto flex gap-2",FR="content",Vx=({onAddComment:e,pushedToEnd:t,labelledBy:r})=>{let[n,o]=_x(!1),{labels:a}=q();return ic("form",{className:t?Ux:Bx,onSubmit:async i=>{i.preventDefault();let l=i.currentTarget,d=l.elements.namedItem(FR);if(!(d instanceof je(l).HTMLInputElement))return;let c=d.value.trim();if(c&&e){o(!0);try{await e(c),l.reset()}catch{}finally{o(!1)}}},children:[Ut(rt,{render:i=>Ut("input",{type:"text",name:FR,...i,"aria-labelledby":r,placeholder:a.commentPlaceholder,className:Px,autoComplete:"off",readOnly:n})}),Ut(rt,{render:i=>Ut("button",{type:"submit",...i,className:kx,disabled:n,children:a.commentSend})})]})};import{useState as nv}from"react";import{Slot as zx}from"@radix-ui/react-slot";import{cva as Kx}from"class-variance-authority";import*as zR from"react";import{jsx as Gx}from"react/jsx-runtime";var $x=Kx(`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 ${le}`,{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"}}),WR=new Map,jx=(e,t,r)=>{let n=`${String(e)}|${String(t)}`,o=WR.get(n);if(o!==void 0)return o(r);let a=Ve($x({variant:e,size:t}));return WR.set(n,a),a(r)},xr=zR.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>Gx(n?zx:"button",{className:jx(t,r,e),ref:a,...o}));xr.displayName="Button";import{jsx as Xx}from"react/jsx-runtime";var Yx=`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 ${pr} ${le}`,qx=Ve(Yx);function KR({className:e,type:t,...r}){return Xx("input",{type:t,"data-slot":"input",className:qx(e),...r})}import*as $R from"@radix-ui/react-label";import{jsx as Jx}from"react/jsx-runtime";var Qx="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",Zx=Ve(Qx);function la({className:e,...t}){return Jx($R.Root,{"data-slot":"label",className:Zx(e),...t})}import{jsx as rv}from"react/jsx-runtime";var ev=`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 ${pr} ${le}`,tv=Ve(ev);function jR({className:e,...t}){return rv("textarea",{"data-slot":"textarea",className:tv(e),...t})}import{jsx as Vt,jsxs as ci}from"react/jsx-runtime";var ro=e=>({title:e.subject??"",content:e.content??""}),ov=e=>{e.preventDefault()},ui=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=lt(),{labels:s}=q(),i=zr(),{title:l,content:d}=iy(e.reportHubId),[c,u]=nv(!1),m=async()=>{u(!0);try{await o(e.reportHubId,{title:l,content:d},e.date)}catch{}finally{u(!1)}},p=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)}},f=`report-title-${e.reportHubId}`,y=`report-content-${e.reportHubId}`;return ci("form",{className:"space-y-4 p-1",onSubmit:ov,children:[ci("div",{className:"space-y-2",children:[Vt(la,{htmlFor:f,children:s.formTitle}),Vt(rt,{elementRef:n,render:S=>Vt(KR,{id:f,value:l,onChange:h=>i.setInput(e.reportHubId,{title:h.target.value}),placeholder:s.formTitlePlaceholder,disabled:c,...S})})]}),ci("div",{className:"space-y-2",children:[Vt(la,{htmlFor:y,children:s.formContent}),Vt(rt,{render:S=>Vt(jR,{id:y,value:d,onChange:h=>i.setInput(e.reportHubId,{content:h.target.value}),placeholder:s.formContentPlaceholder,className:"min-h-50",disabled:c,...S})})]}),ci("div",{className:"flex justify-end gap-2",children:[t&&Vt(rt,{render:S=>Vt(xr,{type:"button",variant:"outline",onClick:t,disabled:c,...S,children:s.formCancel})}),Vt(rt,{render:S=>Vt(xr,{type:"button",variant:"secondary",onClick:m,disabled:c,...S,children:s.formSave})}),Vt(rt,{render:S=>Vt(xr,{type:"button",onClick:p,disabled:c,...S,children:s.formPublish})})]})]})};import{useContext as qR,useMemo as XR,useSyncExternalStore as QR}from"react";import{jsx as hn,jsxs as YR}from"react/jsx-runtime";var av=`inline-grid whitespace-nowrap text-xs leading-4 tabular-nums ${de}`,GR="[grid-area:1/1]",sv=e=>{let t=0;for(let r=e;r!==0;r&=r-1)t+=1;return t},lc=e=>e===null||e.matchedSets===null?null:sv(e.matchedSets),pi=(e,t,r)=>{let n=lc(e);return t.showsMatchedSets&&n!==null?r.searchMatchedKeywordsDescription(n,t.setCount):null},ZR=(e,t,r)=>{let n=lc(e);return e!==null&&!r&&(n===null||n>=1)&&t.entry===e&&t.isCurrent&&t.fields.length===0},JR=({entry:e,drawn:t,indicator:r,isEditing:n,labels:o})=>{let a=pi(e,r,o),s=Ly(t.fields,o);return[...a===null?[]:[a],...s.length>0?[s]:[],...ZR(e,t,n)?[o.searchMatchOutsideViewDescription]:[]]},iv=({isEditing:e,descriptionId:t})=>{let{entry:r,tally:n,indicator:o}=ra(),{labels:a}=q(),s=QR(n.subscribe,n.getSnapshot,n.getSnapshot),{setCount:i,showsMatchedSets:l}=o,d=l?`${a.searchMatchedKeywords(i,i)} ${a.searchMatchOutsideView}`:a.searchMatchOutsideView,c=lc(r),u=ZR(r,s,e),m=pi(r,o,a),p=XR(()=>JR({entry:r,drawn:s,indicator:o,isEditing:e,labels:a}),[r,s,o,e,a]);return YR("span",{className:av,"data-daily-report-search-indicator":!0,children:[hn("span",{"aria-hidden":"true",className:`invisible ${GR}`,"data-daily-report-search-indicator-placeholder":!0,children:d}),YR("span",{className:GR,children:[m!==null&&c!==null?hn("span",{"aria-hidden":"true",title:m,"data-daily-report-search-matched-keywords":`${c}/${i}`,children:a.searchMatchedKeywords(c,i)}):null,m!==null&&u?" ":null,u?hn("span",{"aria-hidden":"true",title:a.searchMatchOutsideViewDescription,"data-daily-report-search-outside-view":!0,children:a.searchMatchOutsideView}):null,hn("span",{id:t===null?void 0:t,className:Jt,"data-daily-report-search-indicator-description":!0,children:p.join(" ")})]})]})},mi=({isEditing:e,descriptionId:t})=>qR(pt)===null?null:hn(iv,{isEditing:e,descriptionId:t}),lv=({id:e})=>{let{entry:t,tally:r,indicator:n}=ra(),{labels:o}=q(),a=QR(r.subscribe,r.getSnapshot,r.getSnapshot),s=XR(()=>JR({entry:t,drawn:a,indicator:n,isEditing:!1,labels:o}),[t,a,n,o]);return hn("span",{id:e,hidden:!0,"data-daily-report-search-match-description":!0,children:s.join(" ")})},eh=({id:e})=>qR(pt)===null?null:hn(lv,{id:e});import{virtualScrollItemElementId as Bv}from"@aiquants/virtualscroll";import{useContext as Ei}from"react";import{virtualScrollItemElementId as gh}from"@aiquants/virtualscroll";import{createContext as Cv,useCallback as Re,useContext as Iv,useLayoutEffect as Gr,useMemo as Eh,useRef as Yr,useState as oo,useSyncExternalStore as xh}from"react";import{flushSync as gi}from"react-dom";var th=(e,t)=>e.id===t.id&&e.indexHint===t.indexHint,rh=Object.freeze([]),nh=(e,t)=>e.includes(t)?e:Object.freeze([...e,t]),oh=(e,t)=>Object.freeze(e.filter(r=>r!==t)),ah=e=>{let t=rh,r=rh,n=e,o=null,a=Object.freeze({selected:n,settled:n}),s=0,i=!1,l=()=>{let R=o===null?n:o;if(!(th(a.selected,n)&&th(a.settled,R))){a=Object.freeze({selected:n,settled:R});for(let b of t)b()}},d=()=>a,c=R=>(t=nh(t,R),()=>{t=oh(t,R)}),u=R=>{n=R,l()},m=R=>{let b=o!==null;if(o=R,l(),b!==(o!==null))for(let E of r)E()},p=R=>m(R),f=()=>m(null),y=()=>o!==null,S=R=>(r=nh(r,R),()=>{r=oh(r,R)}),h=()=>{s+=1},D=R=>{i=R},g=Object.freeze({appliedEpoch:()=>s,pending:()=>i});return{getSnapshot:d,subscribe:c,select:u,hold:p,release:f,isHeld:y,subscribeHold:S,noteKeyStepApplied:h,noteKeyStepsPending:D,keySteps:g}};var vr=e=>({active:e,effect:"none"}),sh=(e,t)=>e!==null&&e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex,dc=(e,{items:t,selected:r,range:n})=>{if(n===null)return e===null?r:e;if(sh(e,n))return e;if(sh(r,n))return r;let o=ke(t,n.visibleStartIndex);return o===void 0?null:{reportHubId:o.reportHubId,index:n.visibleStartIndex}},ih=(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:nr(e,r).reportHubId,index:r},effect:"handBack"}},cc=(e,t)=>{switch(t.kind){case"key":return vr(t.target);case"activation":case"focusInControl":return vr(t.row);case"focusInComposite":return t.from==="inside"?vr(e):t.pressed!==null?vr(t.pressed):{active:dc(e,t.shown),effect:"reveal"};case"focusLeft":return vr(dc(e,t.shown));case"rangeChanged":return vr(t.focusWithin&&e!==null?e:dc(e,t.shown));case"listChanged":{if(e===null)return vr(null);let r=Fe(t.items,e.reportHubId,e.index);return r===-1?ih(t.items,e.index):vr(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?vr(e):ih(t.items,t.selection.index)}};var bn=e=>e.isComposing||e.keyCode===229,no=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 fi=e=>e.matches(":focus-visible")&&ta(e.ownerDocument)!=="pointer";var dv="data-daily-report-keyboard-focus",$r={capture:!0},lh=e=>{let t=ly(e.ownerDocument),r=i=>{e.toggleAttribute(dv,Pe(i)&&fi(i))},n=i=>r(i.target),o=i=>{Pe(i.relatedTarget)&&e.contains(i.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,$r),e.addEventListener("keydown",n,$r),e.addEventListener("focusout",o,$r),e.addEventListener("pointerdown",a,$r);let s=tt(e);return r(s!==null&&e.contains(s)?s:null),()=>{e.removeEventListener("focusin",n,$r),e.removeEventListener("keydown",n,$r),e.removeEventListener("focusout",o,$r),e.removeEventListener("pointerdown",a,$r),r(null),t()}};var cv='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',uv='select, input[type="search"], [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',pv=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],mv=pv.map(e=>`[role="${e}"]`).join(", "),fv='[aria-expanded="true"]',yv=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),Rv=new Set(["Enter"," "]),hv=new Map([["Home","exitBefore"],["End","exitAfter"]]),pc=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=hv.get(e.key);return r===void 0?null:r}let t=yv.get(e.key);return t!==void 0?t:Rv.has(e.key)?"activate":e.key==="Escape"?"returnToRow":null},uc=(e,t,r,n)=>{let o=e.closest(t);return o!==null&&o!==n&&o!==r&&r.contains(o)},bv=(e,t,r,n)=>{let o=dn(t,r);if(o===null)return null;if(e==="tab")return e;if(e==="activate"||uc(t,mv,r,n))return null;if(e==="returnToRow"){if(uc(t,uv,r,n))return null;let a=t.closest(fv);return a!==null&&o.contains(a)?null:e}return uc(t,cv,r,n)?null:e},dh=(e,{container:t,composite:r})=>{let n=pc(e);if(n===null||e.defaultPrevented||bn(e)||t===null||r===null||!Pe(e.target)||!t.contains(e.target))return null;let o=e.target,a=o===r?n==="returnToRow"?null:n:bv(n,o,t,r);return a===null?null:{kind:a,target:o}};var yi={kind:"stay"},hi=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},ch=e=>Math.floor(.875*e),jr=(e,t)=>({kind:"move",index:e,align:t}),Ri=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",Sv=({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},gv=({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},Ev=(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 yi;if(r==="top")return jr(n-1,"top");let d=i(n-1);return jr(n-1,Ri(s-d,d,a,-1))}case"next":return n===o-1?yi:r==="top"?jr(n+1,"top"):jr(n+1,Ri(l,i(n+1),a,1));case"first":return jr(0,"top");case"last":return jr(o-1,i(o-1)<=a?"bottom":"top");case"pageForward":{if(l>a)return{kind:"reveal",delta:Math.min(l-a,ch(a))};if(n===o-1)return yi;let d=Sv(t);return jr(d.index,Ri(d.top,i(d.index),a,1))}case"pageBackward":{if(s<0)return{kind:"reveal",delta:-Math.min(-s,ch(a))};if(n===0)return yi;let d=gv(t);return jr(d.index,Ri(d.top,i(d.index),a,-1))}}},Dv=({index:e,activeRowTop:t,heightOf:r},n)=>ph(n,{index:e,offsetPx:-t},r),uh=(e,t,r,n)=>{let o=r,a=null,s=0;for(let i=0;i<t;i++){let l=Ev(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:Dv(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}},mc=({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"},ph=(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},bi=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let s=hi(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:ph(t,i,s),heightOf:s}},Si=(e,t,r,n)=>{let o=hi(n),a=e.index,s=o(a)-e.offsetPx;for(;s<t&&a<r-1;)a+=1,s+=o(a);return a},mh=(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 fh=e=>{if(e!==void 0)for(let t of[...e])t()},yh=({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&&fh(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),fh(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 Wt={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}},fc=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),Tv=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),Rh=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),wv=new Map(Object.values(Wt).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),hh=e=>{let t=wv.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},Av=(e,t,r)=>e==="row"||e==="page"?t+r:r,bh=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:hh(e)}),Sh=(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",hh(r)):(e.pending=Av(e.axis,e.pending,r.amount),fc)}case"frame":{if(e.fence==="open")return fc;if(e.fence==="immediate")return e.fence="flush",Tv;if(e.pending===0)return e.fence="open",fc;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?Rh:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return Rh}};var yc=Cv(null),_v=Object.freeze({kind:"frame"}),Dh={capture:!0},Lv=()=>{},Th=(e,t,r)=>{let n=e.ownerDocument,o=n.defaultView;if(o===null)return Lv;let a=!0,s=()=>{a&&(a=!1,i.disconnect(),n.removeEventListener("focusin",s,Dh))},i=new o.MutationObserver(()=>{e.isConnected||(s(),r())});return i.observe(t,{childList:!0,subtree:!0}),n.addEventListener("focusin",s,Dh),s},Nv=Object.freeze({kind:"keyup"}),Ov=Object.freeze({kind:"cancel"}),Mv=Object.freeze({previous:Object.freeze({kind:"repeat",step:Wt.previous}),next:Object.freeze({kind:"repeat",step:Wt.next}),pageBackward:Object.freeze({kind:"repeat",step:Wt.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:Wt.pageForward}),first:Object.freeze({kind:"repeat",step:Wt.first}),last:Object.freeze({kind:"repeat",step:Wt.last}),activate:Object.freeze({kind:"repeat",step:Wt.activate})}),ao={capture:!0},Pv=e=>e in Wt,kv=(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}},Fv=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),wh=e=>{let t=jo(e),r=Vr(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},Hv=e=>e==="first"||e==="last",Ah=(e,t)=>{let r=Fe(e,t.reportHubId,t.index);return r===-1?null:{reportHubId:t.reportHubId,index:r}},vh=e=>{let t=Iv(yc);if(t===null)throw new Error("[daily-report] useListRowState is called outside a view's rows (no row cursor)");let r=Re(a=>t.subscribe(e,a),[t,e]),n=Re(()=>t.rowStateOf(e),[t,e]),o=xh(r,n,n);return{active:(o&1)!==0,selected:(o&2)!==0}},Ch=(e,t)=>{let r=Re(()=>{let n=e.getActiveId();if(n===null)return null;let o=Fe(t,n,e.getActiveIndexHint());return o===-1?null:o},[e,t]);return xh(e.subscribeActive,r,r)},Ih=({items:e,selectedId:t,onSelect:r,onActivate:n,containerRef:o,rootRef:a,gridId:s,handleRef:i,scroller:l,rowSizing:d,arrowAlign:c})=>{let[u]=oo(()=>yh({initialSelectedId:t})),[m]=oo(()=>Yy(u)),p=Xe(()=>({items:e,onSelect:r,onActivate:n,rowSizing:d,arrowAlign:c})),f=Yr(null),y=Yr(!1),S=Yr(null),h=Yr(!1),D=Yr(null),g=Yr(()=>{}),[R,b]=oo(null),[E,I]=oo(0),x=Yr(null),P=Xe(()=>{if(t===null)return null;let v=Fe(e,t,null);return v===-1?null:{reportHubId:t,index:v}}),[O]=oo(()=>ah({id:t,indexHint:null})),[B,w]=oo(0),_=Eh(()=>({id:t,indexHint:t===null?null:Im(R,t)}),[t,R]),A=Yr(_);Gr(()=>{p.current={items:e,onSelect:r,onActivate:n,rowSizing:d,arrowAlign:c},A.current=_},[p,e,r,n,d,c,_]),Gr(()=>{_.indexHint===null&&_.id===O.getSnapshot().selected.id||O.select(_)},[O,_,E]);let T=Re((v,M)=>{let W=D.current;if(W!==null&&W.items===v&&W.reportHubId===M)return W.index;let Y=Fe(v,M,W!==null&&W.reportHubId===M?W.index:null);return Y!==-1&&(D.current={items:v,reportHubId:M,index:Y}),Y},[]),L=Re((v,M)=>{D.current={items:p.current.items,reportHubId:v,index:M},b(W=>W!==null&&W.reportHubId===v&&W.index===M?W:{reportHubId:v,index:M}),I(W=>W+1),O.select({id:v,indexHint:M})},[p,O]),F=Re((v,M)=>{D.current={items:p.current.items,reportHubId:M.reportHubId,index:M.index},O.select({id:M.reportHubId,indexHint:M.index}),v.selection=M},[p,O]),U=Re(v=>{gi(()=>{v.select(v.reportHubId,v.index,"settled"),L(v.reportHubId,v.index),w(M=>M+1)})},[L]),j=Re(()=>{let v=p.current.items,M=u.getSelectedId(),W=M===null?-1:T(v,M);return{items:v,selected:M===null||W===-1?null:{reportHubId:M,index:W},range:f.current}},[u,p,T]),G=Re(v=>{let M=h.current;h.current=!0;try{v()}finally{h.current=M}},[]),Q=Re(v=>{P.current=v,u.setActive(v===null?null:v.reportHubId,v===null?null:v.index)},[P,u]),X=Re(v=>{let M=i.current;if(M===null)return null;let{items:W,rowSizing:Y}=p.current;return bi(M,v,W.length,Y)},[i,p]),fe=Re(v=>{let M=X(v);M===null||mc(M)==="whole"||M.activeRowTop<=0&&M.activeRowTop+M.heightOf(v)>=M.viewport||l.toIndex(v,{align:"nearest"})},[X,l]),De=Re((v,M)=>{let W=o.current;if(W===null)return;let Y=p.current.items,oe=P.current,ue=null;if(v===null)ue=oe;else{let k=Fe(Y,v,oe!==null&&oe.reportHubId===v?oe.index:null);k!==-1&&(ue={reportHubId:v,index:k},Q(ue))}ue!==null&&fe(ue.index);let $=W.ownerDocument,ne=$.getElementById(s);if(ne===null)return;let Le=ue===null?null:$.getElementById(gh(s,ue.reportHubId));G(()=>Ry(W,ne,Le,M))},[o,p,P,s,Q,fe,G]),N=Re(v=>{let M=cc(P.current,v);Q(M.active),M.effect==="reveal"&&M.active!==null&&fe(M.active.index);let W=o.current;M.effect==="handBack"&&y.current&&W!==null&&on(W)&&De(M.active===null?null:M.active.reportHubId,"removal")},[o,P,Q,fe,De]),V=Re(()=>{y.current&&(y.current=!1,S.current=null,N({kind:"focusLeft",shown:j()}))},[N,j]);Gr(()=>{u.settleSelection(t)},[u,t,B]),Gr(()=>{t!==null&&T(e,t)},[e,t,T]),Gr(()=>{N({kind:"listChanged",items:e})},[e,N]),Gr(()=>{let v=a.current;if(v!==null)return lh(v)},[a]),Gr(()=>{let v=o.current;if(v===null)return;let M=v.ownerDocument,W=oe=>{let ue=o.current,$=oe.target;if(!(ue!==null&&Pe($)&&ue.contains($))){S.current=null,V();return}let Le=oe.pointerType==="touch"?null:dn($,ue);S.current=Le===null?null:wh(Le)},Y=()=>{S.current=null};return M.addEventListener("pointerdown",W,ao),M.addEventListener("pointerup",Y,ao),M.addEventListener("pointercancel",Y,ao),()=>{M.removeEventListener("pointerdown",W,ao),M.removeEventListener("pointerup",Y,ao),M.removeEventListener("pointercancel",Y,ao)}},[o,V]);let K=Re((v,M)=>{N({kind:"activation",row:{reportHubId:v,index:M}}),L(v,M)},[N,L]),re=Re(v=>{let M=cc(P.current,{kind:"removed",reportHubId:v,selection:D.current,items:p.current.items});if(M.effect!=="handBack")return;Q(M.active);let W=M.active===null?null:M.active.reportHubId;g.current();let Y=o.current,oe=Y===null?null:tt(Y);if(Y!==null&&oe!==null&&!on(Y)&&!Y.contains(oe)){g.current=Th(oe,oe.ownerDocument,()=>De(W,"removal"));return}De(W,"removal")},[o,p,P,Q,De]),he=Re((v,M,W,Y)=>{let{items:oe,onSelect:ue,rowSizing:$,arrowAlign:ne}=p.current,Le=i.current;if(ue===null||Le===null)return;let k=bi(Le,W.index,oe.length,$);if(k===null)return;let z=uh(v,M,k,ne),ae=nr(oe,z.index),ye=z.index!==W.index,xe=ye||Y&&Hv(v)&&A.current.id!==ae.reportHubId,ze=x.current;gi(()=>{ye&&N({kind:"key",target:{reportHubId:ae.reportHubId,index:z.index}}),xe&&(u.settleSelection(ae.reportHubId),ze!==null&&F(ze,{reportHubId:ae.reportHubId,index:z.index,select:ue}),ue(ae.reportHubId,z.index,ze===null?"settled":"held")),z.alignment!==null&&l.toIndex(z.alignment.index,{align:z.alignment.align}),z.scrollDelta!==0&&l.by(z.scrollDelta),xe&&ze===null&&(L(ae.reportHubId,z.index),w(jt=>jt+1))})},[u,p,i,l,L,F,N]),H=Re(v=>{K(v.reportHubId,v.index),p.current.onActivate(v.reportHubId,v.index)},[p,K]),ee=Re(v=>{let M=P.current;if(M===null)return;if(v.axis==="activate"){H(M);return}let W=kv(v.axis,v.amount);he(W.command,W.count,M,!1)},[P,H,he]),te=Re(v=>{x.current=null,v.frame!==0&&v.view.cancelAnimationFrame(v.frame);let M=v.selection;M!==null&&u.getSelectedId()===M.reportHubId&&U(M),O.release()},[u,O,U]),Ee=Re((v,M,W)=>{let{apply:Y}=M;Y!==null&&(M.flush?gi(()=>ee(Y)):ee(Y)),x.current===v&&(M.ended?te(v):M.requestFrame&&(v.frame=v.view.requestAnimationFrame(W)))},[ee,te]),Te=Re((v,M,W)=>{let Y=Sh(v.state,M);O.noteKeyStepsPending(!Y.ended&&v.state.pending!==0),M.kind==="frame"&&Y.apply!==null&&O.noteKeyStepApplied(),Ee(v,Y,W)},[O,Ee]),ie=Re(()=>{let v=x.current;v!==null&&(v.frame=0,Te(v,_v,ie))},[Te]),xt=Re(()=>{let v=x.current;v!==null&&Te(v,Nv,ie)},[Te,ie]),Qe=Re(()=>{let v=x.current;v!==null&&Te(v,Ov,ie)},[Te,ie]),vt=Re((v,M)=>{O.hold(A.current);let{state:W,effects:Y}=bh(Wt[v]),oe={state:W,view:M,frame:0,selection:null};x.current=oe,Ee(oe,Y,ie)},[O,Ee,ie]);Gr(()=>()=>{g.current();let v=x.current;if(x.current=null,v===null)return;v.frame!==0&&v.view.cancelAnimationFrame(v.frame);let M=v.selection;M!==null&&u.getSelectedId()===M.reportHubId&&M.select(M.reportHubId,M.index,"settled")},[u]);let ot=Re((v,M,W)=>{let Y=P.current,oe=Y===null?null:X(Y.index);if(Y===null||oe===null||mc(oe)!=="hidden")return;let ue=M.ownerDocument.getElementById(gh(s,Y.reportHubId));ue===null||!Qy(ue,v===M?null:v,W)||gi(()=>l.toIndex(Y.index,{align:"nearest"}))},[P,s,l,X]),ct=Re(v=>{let M=x.current,W=M!==null&&v.repeat?pc(v):null;if(M!==null&&W!==null&&Pv(W)&&Wt[W].axis===M.state.axis){v.preventDefault(),Te(M,Mv[W],ie);return}let Y=o.current,oe=Y===null?null:Y.ownerDocument.getElementById(s),ue=p.current.onSelect===null?null:dh(no(v),{container:Y,composite:oe});if(xt(),ue===null||Y===null||oe===null)return;S.current=null;let{kind:$}=ue;switch($){case"exitBefore":case"exitAfter":{let ae=Xy(Y,$==="exitBefore"?"before":"after");if(ae===null)return;v.preventDefault(),ae.focus();return}case"tab":ot(ue.target,oe,v.shiftKey);return;case"returnToRow":v.preventDefault(),G(()=>oe.focus({preventScroll:!0}));return}let ne=P.current;if($==="activate"){if(v.preventDefault(),ne===null)return;v.repeat?vt($,je(Y)):H(ne);return}if(ne===null)return;let{items:Le,rowSizing:k}=p.current,z=i.current;z===null||bi(z,ne.index,Le.length,k)===null||(v.preventDefault(),v.repeat?vt($,je(Y)):he($,1,ne,!0),ue.target!==oe&&G(()=>oe.focus({preventScroll:!0})))},[p,o,s,i,P,ie,Te,xt,vt,ot,H,he,G]),at=Re(()=>{xt()},[xt]),Rt=Re(v=>{let M=o.current,W=v.target;if(M===null)return;y.current=!0;let Y=M.ownerDocument.getElementById(s),oe=S.current;if(S.current=null,W===Y){let ze=h.current||Pe(v.relatedTarget)&&M.contains(v.relatedTarget)?"inside":"outside";N(ze==="inside"?{kind:"focusInComposite",from:ze}:{kind:"focusInComposite",from:ze,pressed:oe===null?null:Ah(p.current.items,oe),shown:j()});return}let ue=dn(W,M),$=ue===null?null:wh(ue),ne=$===null?null:Ah(p.current.items,$);if(ue===null||ne===null||!Pe(W))return;N({kind:"focusInControl",row:ne}),g.current(),g.current=Th(W,ue,()=>De(null,"removal"));let Le=i.current;if(Le===null||Y===null||!fi(W))return;let k=Y.getBoundingClientRect(),z=ue.getBoundingClientRect(),ae=z.height<=k.height?z:Fv(W.getBoundingClientRect(),ur),ye=mh(ae,k),xe=Le.getViewportSize();ye===0||!(xe>0&&k.height>0)||l.by(ye*xe/k.height)},[o,s,p,i,l,N,j,De]),Kt=Re(v=>{let M=o.current,W=v.relatedTarget,Y=Pe(W)?M?.contains(W)?"view":"outside":"nowhere";Y!=="view"&&Qe(),Y==="outside"&&V()},[o,Qe,V]),$t=Re(v=>{f.current={visibleStartIndex:v.visibleStartIndex,visibleEndIndex:v.visibleEndIndex},N({kind:"rangeChanged",focusWithin:y.current,shown:j()})},[N,j]),Dt=Eh(()=>({onKeyDown:ct,onKeyUp:at,onPointerDownCapture:Qe,onWheelCapture:Qe,onTouchStartCapture:Qe,onFocus:Rt,onBlur:Kt}),[ct,at,Qe,Rt,Kt]);return{cursor:u,controls:m,containerProps:Dt,handleRangeChange:$t,selection:_,selectionStore:O,resolveSelectedIndex:T,rememberSelection:L,activateRow:K,focusViewRow:De,focusAfterRemoval:re}};import{jsx as Di}from"react/jsx-runtime";var Ie=(e,t)=>`${e}-${t}`,Ti=e=>Bv(nf(),e),so=Object.freeze([]),Uv="data-daily-report-row-shell",Rc=Object.freeze({..._t,[Uv]:"",className:`h-full w-full ${Lt}`}),wi=Di("div",{...Rc}),Vv=(e,t,r)=>r===Wr?e.listRowPositionInUnknownTotal(t+1):e.listRowPosition(t+1,r),io=({id:e,whileTotalUnknownOnly:t})=>{let{labels:r}=q(),n=Ei(un),o=Ei(cn);return t&&o!==Wr?null:Di("span",{id:e,hidden:!0,children:Vv(r,n,o)})},Ai=({reportHubId:e,rowId:t,name:r,className:n,style:o,onMouseDown:a,frameRef:s,children:i})=>{let{active:l,selected:d}=vh(e),c=qy(e),u=Ei(un),m=Ei(cn),p=r.kind==="parts",f=p&&m===Wr?[...r.describedBy,Ie(t,"position")]:r.describedBy,y=f.length===0?void 0:f.join(" ");return Di(Kd.Provider,{value:c,children:Di("div",{ref:s,role:"row",id:t,[Rs]:e,"aria-rowindex":u+1,"aria-posinset":u+1,"aria-setsize":m,"aria-level":1,"aria-selected":d,[eu]:l?"":void 0,"aria-labelledby":p?Ie(t,"name"):void 0,"aria-describedby":y,"aria-label":p?void 0:r.label,"aria-busy":!p&&r.isBusy?!0:void 0,className:n,style:o,onMouseDown:a,children:i})})};import{Fragment as zv,jsx as xi,jsxs as Kv}from"react/jsx-runtime";var Wv=Ve(fu),_h=e=>e.name===void 0||e.name===e.label?null:e.name,Lh=e=>{let t=_h(e);return t===null?e.label:t},lo=({config:e,id:t})=>{let r=_h(e);return xi("span",{id:t,className:Wv(e.badgeClassName),children:r===null?e.label:Kv(zv,{children:[xi("span",{"aria-hidden":"true",children:xi("abbr",{title:r,children:e.label})}),xi("span",{className:Jt,children:r})]})})};import{jsx as vi,jsxs as $v}from"react/jsx-runtime";var Ci=({state:e,attachmentCount:t,sourceConfig:r,preview:n,marks:o,marksStore:a,labels:s})=>{let i=[{part:"state",text:e,imageName:null}];return t>0&&i.push({part:"attachments",text:()=>pl(t),imageName:()=>ul(s.attachments,t)}),r!==void 0&&i.push({part:"source",text:()=>Lh(r),imageName:null}),n!==null&&i.push({part:"preview",text:n,imageName:null}),a!==null&&i.push({part:"match",text:()=>pi(o,a.indicator,s),imageName:null}),i},da=(e,t)=>t.map(({part:r})=>Ie(e,r)),Ii=({rowId:e,name:t,description:r})=>{let n=Ie(e,"name");return $v("div",{...Rc,"aria-labelledby":t===null?void 0:n,children:[t===null?null:vi("span",{id:n,hidden:!0,children:t}),r.map(({part:o,text:a,imageName:s})=>s===null?vi("span",{id:Ie(e,o),hidden:!0,children:a()},o):vi("span",{id:Ie(e,o),hidden:!0,role:"img","aria-label":s(),children:a()},o)),t===null?null:vi(io,{id:Ie(e,"position"),whileTotalUnknownOnly:!0})]})};var jv=()=>{},_i=(e,t,r,n)=>{let o=null;return{read:()=>{let a=e.read(r),s=t===null?void 0:t.read(r),i=s===void 0?null:s;return(o===null||!Object.is(o.detail,a)||!Object.is(o.marks,i))&&(o=Object.freeze({detail:a,marks:i,marksStore:t})),o},subscribe:a=>{let s=e.subscribe(r,n,a),i=t===null?jv:t.subscribe(r,a);return()=>{s(),i()}},changesBox:(a,s)=>a.detail!==s.detail}};import lC from"lucide-react/dist/esm/icons/pencil.js";import dC from"lucide-react/dist/esm/icons/trash-2.js";import{jsx as Nh}from"react/jsx-runtime";var Ni=24,Oh=2,Gv=20,Li=5,Yv=3,qv=()=>{let e=Math.cos(2*Math.PI/Li)/Math.cos(Math.PI/Li),t=Array.from({length:2*Li},(m,p)=>{let f=-Math.PI/2+p*Math.PI/Li,y=p%2===0?1:e;return{x:y*Math.cos(f),y:y*Math.sin(f)}}),r=t.map(m=>m.x),n=t.map(m=>m.y),[o,a,s,i]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],l=(Gv-Oh)/(a-o),d=Ni/2-l*(o+a)/2,c=Ni/2-l*(s+i)/2,u=m=>String(Number(m.toFixed(Yv)));return t.map(m=>`${u(d+l*m.x)},${u(c+l*m.y)}`).join(" ")},Xv=qv(),co=({filled:e})=>Nh("svg",{viewBox:`0 0 ${Ni} ${Ni}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:Oh,strokeLinejoin:"round",className:e?et.starOn:et.starOff,children:Nh("polygon",{points:Xv})});import Zv from"lucide-react/dist/esm/icons/check.js";import Jv from"lucide-react/dist/esm/icons/refresh-cw.js";import{jsx as Mh}from"react/jsx-runtime";var Oi=24,Qv=6,Ph=()=>Mh("svg",{viewBox:`0 0 ${Oi} ${Oi}`,"aria-hidden":"true",className:et.read,children:Mh("circle",{cx:Oi/2,cy:Oi/2,r:Qv,fill:"currentColor"})});import{jsx as Mi}from"react/jsx-runtime";var eC="data-daily-report-updated-since-read",uo=({readState:e})=>e==="unread"?Mi(Ph,{}):e==="updatedSinceRead"?Mi(Jv,{className:et.read}):Mi(Zv,{className:et.read}),Sn=(e,t)=>e==="read"?t.markUnread:e==="unread"?t.markRead:t.markUpdateRead,po=({readState:e,label:t})=>e==="updatedSinceRead"?Mi("span",{[eC]:"","aria-hidden":"true",className:mu,children:t}):null;import{jsx as rC}from"react/jsx-runtime";var tC=/^(\d{4}-\d{2}-\d{2})(?:T(\d{2}:\d{2}):\d{2})?$/,gn=({text:e})=>{let t=tC.exec(e);if(t===null)return e;let[,r,n]=t;return rC("time",{dateTime:e,children:n===void 0?r:`${r} ${n}`})};import{Fragment as iC,jsx as Ge,jsxs as hc}from"react/jsx-runtime";var nC=Ve("m-0"),St=({label:e,classNames:t,valueId:r,children:n})=>hc("div",{className:t.field,children:[Ge("dt",{className:t.label,children:e}),Ge("dd",{id:r,className:nC(t.value),children:n})]}),oC=`mt-2 font-semibold ${de} text-xs uppercase tracking-wide first:mt-0`,aC=`m-0 flex flex-col rounded-xl bg-slate-100 p-3 ${de} text-xs dark:bg-slate-800/60`,sC="m-0 mt-1 text-slate-700 text-sm dark:text-slate-200",qr=({label:e,children:t})=>hc(iC,{children:[Ge("dt",{className:oC,children:e}),Ge("dd",{className:sC,children:t})]}),kh=({report:e,visitTimeDisplay:t,labels:r})=>{let n=Hr(e.category),o=Hr(e.creationCategory);return hc("dl",{className:aC,children:[Ge(qr,{label:r.author,children:Ge(ge,{fieldKey:we.field("author"),raw:e.author,display:Ke(e.author)})}),Ge(qr,{label:r.createdAt,children:Ge(gn,{text:Ne(e.createdAt)})}),Ge(qr,{label:r.updatedBy,children:Ge(ge,{fieldKey:we.field("updatedBy"),raw:e.updatedBy,display:Ke(e.updatedBy)})}),Ge(qr,{label:r.updatedAt,children:Ge(gn,{text:Ne(e.updatedAt)})}),Ge(qr,{label:r.businessDate,children:Ge(gn,{text:Ne(e.date)})}),t!==null&&Ge(qr,{label:r.visitTime,children:t}),n.text.length>0&&Ge(qr,{label:r.category,children:Ge(ge,{fieldKey:we.field("category"),raw:e.category,display:n})}),o.text.length>0&&Ge(qr,{label:r.creationCategory,children:Ge(ge,{fieldKey:we.field("creationCategory"),raw:e.creationCategory,display:o})})]})};import{jsx as Ae,jsxs as Hh}from"react/jsx-runtime";var Pi={field:C(Je,"gap-1 whitespace-nowrap bg-slate-100 text-slate-800 dark:bg-slate-800 dark:text-slate-100"),label:`${de} text-xs uppercase tracking-wide`,value:""},cC={field:C(Je,"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-800 text-xs uppercase tracking-wide dark:text-blue-300",value:""},Fh={field:C(Je,"gap-1 whitespace-nowrap bg-amber-100 text-amber-900 dark:bg-amber-500/15 dark:text-amber-200"),label:"text-amber-900 text-xs uppercase tracking-wide dark:text-amber-300",value:""},uC=`flex flex-wrap items-center gap-2 font-medium ${de} text-xs`,Bh=({report:e,readState:t,isStarred:r,onToggleRead:n,onToggleStar:o,onEdit:a,editButtonRef:s,onDelete:i,sourceConfig:l,visitTimeDisplay:d,markerIds:c,labels:u})=>{let m=r?u.starRemove:u.starAdd,p=Sn(t,u),f=Hr(e.category),y=Hr(e.creationCategory);return Hh("div",{className:uC,children:[Ae(Do,{id:c.attachments,count:e.attachments.length,label:u.attachments}),l?Ae(lo,{id:c.source,config:l}):null,Ae(po,{readState:t,label:u.updatedSinceRead}),Ae(rt,{render:S=>Ae("button",{type:"button",onClick:o,...S,className:it,title:m,"aria-label":m,"data-detail-star-button":e.reportHubId,children:Ae(co,{filled:r})})}),Ae(rt,{render:S=>Ae("button",{type:"button",onClick:n,...S,className:it,title:p,"aria-label":p,"data-detail-read-button":e.reportHubId,children:Ae(uo,{readState:t})})}),a&&Ae(rt,{elementRef:s,render:S=>Ae("button",{type:"button",onClick:a,...S,"data-detail-edit-button":e.reportHubId,className:it,title:u.edit,"aria-label":u.edit,children:Ae(lC,{className:et.edit})})}),i&&Ae(rt,{render:S=>Ae("button",{type:"button",onClick:i,...S,"data-detail-delete-button":e.reportHubId,className:it,title:u.deleteReport,"aria-label":u.deleteReport,children:Ae(dC,{className:et.delete})})}),Hh("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[Ae(St,{label:u.id,classNames:cC,children:e.reportHubId}),Ae(St,{label:u.businessDate,classNames:Pi,children:Ae(gn,{text:Ne(e.date)})}),Ae(St,{label:u.author,classNames:Pi,children:Ae(ge,{fieldKey:we.field("employeeName"),raw:e.employeeName,display:Ke(e.employeeName)})}),Ae(St,{label:u.visitTime,classNames:Pi,children:Br(d)}),Ae(St,{label:u.updatedAt,classNames:Pi,children:Ae(gn,{text:Ne(e.updatedAt)})}),f.text.length>0&&Ae(St,{label:u.category,classNames:Fh,children:Ae(ge,{fieldKey:we.field("category"),raw:e.category,display:f})}),y.text.length>0&&Ae(St,{label:u.creationCategory,classNames:Fh,children:Ae(ge,{fieldKey:we.field("creationCategory"),raw:e.creationCategory,display:y})})]}),Ae(mi,{isEditing:!1,descriptionId:c.searchMatch})]})};import{useLayoutEffect as Uh,useRef as Vh}from"react";import{jsx as fC}from"react/jsx-runtime";var pC=C(Fr,xa,va,Aa,"h-full"),mC=(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()}}},Wh=({itemId:e,rowId:t,name:r,bodyReady:n,observeRowHeight:o,children:a})=>{let s=Vh(null),i=of(e),l=Vh(null);return Uh(()=>{let d=s.current,c=d===null||!n?null:d.firstElementChild,u=c instanceof HTMLElement?c:null,m=l.current;m!==null&&m.body===u&&m.declareBody===i&&m.observeRowHeight===o||(m!==null&&m.release(),l.current=mC(u,i,o))}),Uh(()=>()=>{l.current?.release(),l.current=null},[]),fC(Ai,{reportHubId:e,rowId:t,name:r,className:pC,frameRef:s,children:a})};import{jsx as J,jsxs as nt}from"react/jsx-runtime";var RC=C("flex w-full flex-col gap-4",Lt,_a,kr),hC=C(Lt,kr),bC=C("rounded-2xl",kr),SC=C("rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-800 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",kr),dt="bg-slate-200 dark:bg-slate-700",gC=C("whitespace-pre-wrap",Ia),EC=C(Je,"bg-slate-100 text-xs dark:bg-slate-800",de),DC=({interviewer:e,index:t,template:r})=>{let n=mo(()=>Ke(e.name),[e.name]),o=J(ge,{fieldKey:we.interviewer(t,"name"),raw:e.name,display:n},"name"),a=e.affiliation;if(!a?.trim())return o;let s=Iy(r,n.text,a);return s===null?r(n.text,a):s.map(i=>i.kind==="text"?i.text:i.kind==="name"?o:J(ge,{fieldKey:we.interviewer(t,"affiliation"),raw:a,display:Ot(a)},"affiliation"))},TC=e=>({heading:Ie(e,"name"),state:Ie(e,"state"),attachments:Ie(e,"attachments"),source:Ie(e,"source"),searchMatch:Ie(e,"match")}),$h=e=>`${Ne(e.date)} ${Br(e.employeeName)} ${Br(e.subject)}`,jh=(e,t,r)=>{let n=t.get(e.reportHubId),o=r.get(e.reportHubId);return{isRead:n===void 0?e.isRead:n.isRead,readContentDigest:n===void 0?e.readContentDigest:n.readContentDigest,isStarred:o===void 0?e.isStarred:o}},Gh=(e,t,r)=>yr({isRead:t.isRead,readContentDigest:t.readContentDigest,contentDigest:e.contentDigest,userId:e.userId},r),wC=({report:e,viewerUserId:t,isEditing:r,sourceConfig:n,ledgers:o,marks:a,marksStore:s,labels:i})=>r?[{part:"state",text:()=>i.rowEditingState({isDraft:e.isDraft}),imageName:null}]:Ci({state:()=>{let l=jh(e,o.pendingReadUpdates.current,o.pendingStarUpdates.current);return i.rowState({readState:Gh(e,l,t),isStarred:l.isStarred})},attachmentCount:e.attachments.length,sourceConfig:n,preview:null,marks:a,marksStore:s,labels:i}),AC=nt("div",{..._t,className:hC,children:[nt("div",{className:"mb-4 flex flex-wrap gap-2",children:[J("div",{className:C("h-6 w-20 rounded-full",dt)}),J("div",{className:C("h-6 w-24 rounded-full",dt)}),J("div",{className:C("h-6 w-24 rounded-full",dt)}),J("div",{className:C("h-6 w-28 rounded-full",dt)})]}),nt("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[nt("div",{className:"space-y-4",children:[J("div",{className:C("h-5 w-40 rounded",dt)}),J("div",{className:C("h-5 w-56 rounded",dt)}),J("div",{className:C("h-24 rounded-xl",dt)})]}),nt("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[J("div",{className:C("mb-2 h-4 w-24 rounded",dt)}),J("div",{className:C("mb-2 h-4 w-28 rounded",dt)}),J("div",{className:C("h-4 w-32 rounded",dt)})]})]}),nt("div",{className:"space-y-4",children:[J("div",{className:C("h-4 w-24 rounded",dt)}),nt("div",{className:"flex flex-wrap gap-2",children:[J("div",{className:C("h-6 w-16 rounded-full",dt)}),J("div",{className:C("h-6 w-16 rounded-full",dt)}),J("div",{className:C("h-6 w-16 rounded-full",dt)})]}),nt("div",{className:"space-y-2",children:[J("div",{className:C("h-16 rounded-xl",dt)}),J("div",{className:C("h-16 rounded-xl",dt)})]})]})]}),xC=()=>AC,vC=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n})=>{let o=nn(),a=yC(pt),s=mo(()=>_i(o,a,e.reportHubId,e.businessDate),[o,a,e.reportHubId,e.businessDate]),{bodyReady:i,rendered:l}=Ts(e.reportHubId,s,"measured"),{report:d,error:c}=l.detail,u=l.marksStore===a?l.marks:null,{report:m,error:p,isLoading:f,isRefetching:y}=s.read().detail,S=Ti(e.reportHubId),h=fy(),D=lt(),{removeStaleItem:g}=D,{labels:R,sourceTypeConfigs:b}=q(),E=zr(),I=js(e.reportHubId),x=I==="editing"||I==="automatic",P=bc(!1),O=bc(!1),B=m===null&&p===null&&!f&&!y;zh(()=>{B&&e.reportHubId>0&&g(e.reportHubId)},[B,e.reportHubId,g]);let w=m?.isDraft===!0,_=pn(m,n),A=pn(d,n),T=bc(s);Kh(()=>{T.current=s},[s]);let L=En(()=>{let re=T.current.read().detail.report;re!==null&&(P.current=!0,E.open(e.reportHubId,ro(re),!1))},[E,e.reportHubId]),F=En(()=>{O.current=!0,E.dismiss(e.reportHubId)},[E,e.reportHubId]),U=En(()=>{O.current=!0,E.discard(e.reportHubId)},[E,e.reportHubId]),j=En(re=>{re===null||!P.current||(P.current=!1,re.focus())},[]),G=En(re=>{re===null||!O.current||(O.current=!1,re.focus())},[]);Kh(()=>{x||(O.current=!1)},[x]),zh(()=>{m!==null&&(_&&w&&I==="display"?E.open(e.reportHubId,ro(m),!0):!w&&I==="automatic"&&E.discard(e.reportHubId))},[m,_,w,I,E,e.reportHubId]);let Q=En(()=>h(e.reportHubId,"removal"),[h,e.reportHubId]),X=d===null?void 0:Sr(d.sourceType,b),fe=d===null&&(f||m!==null||p!==null),De=Ne(e.businessDate),N=Ie(S,"state"),V=c===null&&d!==null?{report:d,description:wC({report:d,viewerUserId:n,isEditing:x,sourceConfig:X,ledgers:D,marks:u,marksStore:a,labels:R})}:null,K=V!==null?x?{kind:"label",label:De,isBusy:!1,describedBy:da(S,V.description)}:{kind:"parts",describedBy:da(S,V.description)}:i?{kind:"label",label:De,isBusy:c===null&&fe,describedBy:c===null?so:[N]}:{kind:"label",label:De,isBusy:!0,describedBy:so};return J(Wh,{itemId:e.reportHubId,rowId:S,name:K,bodyReady:i,observeRowHeight:t,children:i?c!==null?J(CC,{itemId:e.reportHubId,stateId:N}):d?x?J(Xh,{report:d,stateId:N,onCancel:F,onPublishSuccess:U,titleInputRef:j}):J(Jn,{reportHubId:e.reportHubId,entry:u,children:J(qh,{item:e,report:d,sourceConfig:X,rowId:S,onCommentAdded:r,userId:n,onEdit:A?L:void 0,editButtonRef:G,onCommentSectionRemoved:Q})}):J(xC,{}):V===null?wi:J(Ii,{rowId:S,name:x?null:$h(V.report),description:V.description})})},Yh=Sc(vC),qh=Sc(({item:e,report:t,sourceConfig:r,rowId:n,onCommentAdded:o,userId:a,onEdit:s,editButtonRef:i,onCommentSectionRemoved:l})=>{let{toggleStar:d,toggleRead:c,pendingStarUpdates:u,pendingReadUpdates:m,deleteReport:p}=lt(),{labels:f,headingLevel:y}=q(),S=Kr[y],h=Ya(t.sourceType,r),D=TC(n),g=En(()=>o?.(e.reportHubId),[o,e.reportHubId]),R=jh(t,m.current,u.current),{isStarred:b}=R,E=Gh(t,R,a),I=pn(t,a),x=async()=>{try{await c(t.reportHubId,In(E,t.contentDigest),t.date)}catch{}},P=async()=>{try{await d(t.reportHubId,!b,t.date)}catch{}},O=async()=>{if(confirm(f.confirmDelete))try{await p(t.reportHubId,t.date)}catch{}},B=mo(()=>Gu(t.content??null),[t.content]),w=mo(()=>Ke(t.customerName),[t.customerName]),_=mo(()=>Ke(t.subject),[t.subject]),A=mo(()=>{let T=t.visitTimeFrom?.trim(),L=t.visitTimeTo?.trim();return T&&L?`${T} - ${L}`:T||L||null},[t.visitTimeFrom,t.visitTimeTo]);return nt("div",{..._t,"aria-labelledby":D.heading,onDoubleClick:s,className:RC,children:[J(wt,{level:y,id:D.heading,tabIndex:-1,...bs,className:Jt,children:$h(t)}),J("span",{id:D.state,className:Jt,children:f.rowState({readState:E,isStarred:b})}),J(io,{id:Ie(n,"position"),whileTotalUnknownOnly:!0}),J(Bh,{report:t,sourceConfig:r,readState:E,isStarred:b,onToggleRead:x,onToggleStar:P,onEdit:s,editButtonRef:i,onDelete:I?O:void 0,visitTimeDisplay:A,markerIds:D,labels:f}),nt("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[nt("div",{className:"flex flex-col gap-4",children:[nt("div",{className:"grid gap-4 sm:grid-cols-2",children:[nt("div",{className:"flex flex-col gap-1",children:[J(wt,{level:S,className:mr,children:f.customer}),J("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:J(ge,{fieldKey:we.field("customerName"),raw:t.customerName,display:w})})]}),nt("div",{className:"flex flex-col gap-1",children:[J(wt,{level:S,className:mr,children:f.subject}),J("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:J(ge,{fieldKey:we.field("subject"),raw:t.subject,display:_})})]})]}),B.text.length>0&&nt("div",{className:"flex flex-col gap-2",children:[J(wt,{level:S,className:mr,children:f.content}),J("div",{className:gC,children:J(ge,{fieldKey:we.field("content"),raw:t.content,display:B})})]}),t.interviewers.length>0&&nt("div",{className:"flex flex-col gap-2",children:[J(wt,{level:S,className:mr,children:f.interviewers}),J("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map((T,L)=>J("li",{className:EC,children:J(DC,{interviewer:T,index:L,template:f.interviewerWithAffiliation})},JSON.stringify([T.name,T.affiliation])))})]}),J(ai,{attachments:t.attachments}),J(ia,{report:t,userId:a,canComment:h,onCommentAdded:g,onSectionRemoved:l,formPlacement:"after-section"})]}),J(kh,{report:t,visitTimeDisplay:A,labels:f})]})]})});qh.displayName="DailyReportResolvedItem";var Xh=Sc(({report:e,stateId:t,onCancel:r,onPublishSuccess:n,titleInputRef:o})=>{let{labels:a}=q();return nt("div",{..._t,className:bC,children:[J("span",{id:t,className:Jt,children:a.rowEditingState({isDraft:e.isDraft})}),J(ui,{report:e,onCancel:r,onPublishSuccess:n,titleInputRef:o})]})});Xh.displayName="DailyReportEditingBody";var CC=({itemId:e,stateId:t})=>{let{labels:r}=q();return J("div",{..._t,className:SC,children:J("p",{id:t,children:r.reportLoadFailed(e)})})};import{VirtualScroll as HC,virtualScrollItemElementId as BC}from"@aiquants/virtualscroll";import{useCallback as ki,useContext as UC,useId as nb,useMemo as Tc,useRef as VC,useState as ob}from"react";import{createContext as IC}from"react";var gc=IC(null);import{createContext as _C,useContext as LC,useLayoutEffect as NC}from"react";var Qh=()=>{let e=!1;return{request:()=>{e=!0},isPending:()=>e,take:()=>{let t=e;return e=!1,t}}},Ec=_C(null),Zh=(e,t)=>{let r=LC(Ec);NC(()=>{r===null||!r.isPending()||e.current===null||(r.take(),t(null,"handOver"))})};import{useCallback as Jh,useLayoutEffect as eb,useMemo as tb,useRef as Dc}from"react";var OC=(e,t,r,n)=>{for(let o=r;o<=n;o++){let a=ke(e,o);if(a===void 0||a.reportHubId!==ke(t,o)?.reportHubId)return!0}return!1},MC=(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}},PC=(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}},kC=(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"?MC(e.index,a,n.rowHeight,r.length):PC(e.index,a,hi(n),r.length);return{reportHubId:nr(r,s).reportHubId,index:s,offsetPx:i,lastVisibleIndex:Si({index:s,offsetPx:i},o,r.length,n),recordedAt:t}},FC=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=Fe(t,nr(e,n).reportHubId,n-1);if(o!==-1)return o}return-1},rb=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=Dc(null),a=Dc(e),s=Dc(r),i=Jh(()=>{let c=t.current,u=c===null?-1:c.getScrollPosition(),m=c===null||!(u>0)?null:c.getScrollAnchor(),p=a.current,f=m===null?void 0:ke(p,m.index),y=c===null?0:c.getViewportSize();o.current=m===null||f===void 0||!(y>0)?null:{reportHubId:f.reportHubId,index:m.index,offsetPx:m.offsetPx,lastVisibleIndex:Si(m,y,p.length,s.current),recordedAt:u}},[t]),l=tb(()=>({toIndex:(c,u)=>{let m=t.current;m!==null&&(m.scrollToIndex(c,u),i())},by:c=>{let u=t.current;u!==null&&(u.scrollBy(c),i())},resizeRow:(c,u)=>{let m=t.current;m!==null&&(m.updateItemSize(c,u),i())},reestimate:c=>{let u=t.current;u!==null&&(u.setItemHeightEstimate(c),i())}}),[t,i]);eb(()=>{let c=a.current;a.current=e;let u=o.current,m=t.current;if(c===e||u===null||m===null||n())return;let p=kC(u,m.getScrollPosition(),c,s.current,m.getViewportSize());if(p===null){o.current=null;return}let f=Fe(e,p.reportHubId,p.index),y=f===-1?FC(c,e,p):f;if(y===-1){o.current=null;return}if(y===p.index&&!OC(c,e,p.index,p.lastVisibleIndex)){o.current=p;return}m.scrollToIndex(y,{align:"top",offset:-p.offsetPx}),o.current={reportHubId:nr(e,y).reportHubId,index:y,offsetPx:p.offsetPx,lastVisibleIndex:Si({index:y,offsetPx:p.offsetPx},m.getViewportSize(),e.length,r),recordedAt:m.getScrollPosition()}},[e,t,r,n]),eb(()=>{s.current=r},[r]);let d=Jh(c=>{if(c.cause!=="clamp"){i();return}let u=o.current;u!==null&&(o.current={...u,recordedAt:u.recordedAt+c.delta})},[i]);return tb(()=>({handleRangeChange:i,handleScrollAdjust:d,scroller:l}),[i,d,l])};import{jsx as fo}from"react/jsx-runtime";var WC=Object.freeze({skipFar:!0}),zC=(e,t)=>{let r=null,n=new Map;return a=>{let s=e.current;s!==r&&(r=s,n.clear());let i=n.get(a);if(i!==void 0)return i;let l=Fe(s,a,t(a)),d=l===-1?null:l;return n.set(a,d),d}},Fi=({containerRef:e,testId:t,itemsRef:r,rowSetSize:n,isViewRevealPending:o,onRangeChange:a,...s})=>{let i=VC(null),l=ki(T=>(i.current=T,()=>{i.current=null}),[]),{labels:d}=q(),c=nb(),{handleRangeChange:u,handleScrollAdjust:m,scroller:p}=rb({items:s.items,handleRef:i,rowSizing:s.rowSizing,isRevealPending:o}),{handleRangeChange:f,...y}=Ih({...s,containerRef:e,handleRef:i,scroller:p,gridId:c}),{cursor:S,controls:h,selectionStore:D,focusViewRow:g}=y,R=UC(gc),[b]=ob(()=>R===null?null:R.instrumentView({hostTestId:t,readHandle:()=>i.current,readItems:()=>r.current,reveal:p.toIndex})),[E]=ob(()=>rf({gridId:c,isHolding:()=>D.isHeld(),subscribeHold:T=>D.subscribeHold(T),keySteps:D.keySteps,activeIndex:()=>{let T=S.getActiveId(),L=T===null?-1:Fe(r.current,T,S.getActiveIndexHint());return L===-1?null:L},indexOf:zC(r,T=>{let L=e.current,F=L===null?null:L.ownerDocument.getElementById(BC(c,T)),U=F===null?null:Vr(F);return U===null?null:U-1}),pane:()=>{let T=i.current,L=T===null?-1:T.getScrollPosition();return T===null||L===-1?null:{range:T.getRange(),position:L}},observe:b===null?void 0:b.observeRowPass})),I=ki(T=>{m(T),!(b===null||T.cause!=="re-estimate")&&b.observeReEstimate(D.isHeld()||e.current?.hasAttribute(Pr)===!0)},[m,b,D,e]),x=ki(T=>{e.current=T;let L=b===null?null:b.attach(T);return()=>{L!==null&&L(),e.current=null}},[e,b]);Zh(e,g);let P=nb(),O=s.onSelect!==null,B=ki(T=>{f(T),u(),a(T)},[f,u,a]),w=Tc(()=>({role:Zl,id:c,tabIndex:0,"aria-label":d.title,"aria-describedby":O?P:void 0,"aria-rowcount":n}),[c,d.title,O,P,n]),_=Tc(()=>O?fo("span",{id:P,className:"sr-only",children:d.listKeyboardHelp}):null,[O,P,d.listKeyboardHelp]),A=Tc(()=>({cursor:S,controls:h,rowPass:E,focusViewRow:g}),[S,h,E,g]);return{...y,handleRangeChange:B,handleScrollAdjust:I,attachVirtualScroll:l,handleRef:i,scroller:p,attachScrollContainer:x,contentProps:w,keyboardHelp:_,rowPass:E,rowScope:A}},Hi=({rowScope:e,items:t,...r})=>{let n=Ch(e.cursor,t);return fo(yc.Provider,{value:e.cursor,children:fo(zd.Provider,{value:e.controls,children:fo(Ds.Provider,{value:e.rowPass,children:fo(_d.Provider,{value:e.focusViewRow,children:fo(HC,{...r,activeItemIndex:n,activeItemVisibleInset:tu,itemZones:WC})})})})})};import{useCallback as KC,useContext as ab,useEffect as sb,useMemo as $C,useState as jC}from"react";var ib=e=>{let t=e;for(;t<_l;)t+=Pn;return t>=Ho+Pn&&(t-=Pn*Math.floor((t-Ho)/Pn)),t},GC=(e,t,r)=>e===null||t<e.start||r>e.end?{start:t-Ho,end:r+Ho}:{start:t-ib(t-e.start),end:r+ib(e.end-r)},Bi=e=>{for(let t of e.values())t();e.clear()},lb=(e,t)=>{for(let[r,n]of e)t.has(r)||(n(),e.delete(r))},YC=()=>{let e=null,t=new Map,r=new Map,n=null,o=null,a=()=>{},s=()=>{Bi(t),Bi(r),e=null,o=null};return{releaseAll:s,evaluate:(i,l)=>{if(i!==null&&(n=i),n===null)return;if(l.detailSource!=="ids"){s();return}o!==null&&o.detailStore!==l.detailStore&&(Bi(t),e=null),o!==null&&o.marksStore!==l.marksStore&&Bi(r),e=GC(e,n.renderingStartIndex,n.renderingEndIndex);let d=Math.max(0,e.start),c=Math.min(l.itemCount-1,e.end);if(o!==null&&o.detailStore===l.detailStore&&o.marksStore===l.marksStore&&o.from===d&&o.to===c&&o.getItem===l.getItem)return;o={detailStore:l.detailStore,marksStore:l.marksStore,getItem:l.getItem,from:d,to:c};let u=new Map;for(let f=d;f<=c;f++){let y=l.getItem(f);y.reportHubId>0&&u.set(y.reportHubId,y.businessDate)}let{detailStore:m,marksStore:p}=l;for(let[f,y]of u)t.has(f)||t.set(f,m.subscribe(f,y,a)),p!==null&&!r.has(f)&&r.set(f,p.subscribe(f,a));lb(t,u),lb(r,u)}}},Ui=({itemCount:e,getItem:t})=>{let r=ab(kn),n=nn(),o=ab(pt),[a]=jC(YC),s=$C(()=>({detailSource:r,detailStore:n,marksStore:o,itemCount:e,getItem:t}),[r,n,o,e,t]),i=KC(l=>a.evaluate(l,s),[a,s]);return sb(()=>{a.evaluate(null,s)},[a,s]),sb(()=>()=>a.releaseAll(),[a]),i};import{Fragment as rI,jsx as dr,jsxs as tI}from"react/jsx-runtime";var ub={pointerDragInputs:ts,wheelSpeedMultiplier:qa,inertiaOptions:$n(!1),enableKeyboardNavigation:!1},qC={...ub,inertiaOptions:$n(!0)},cb="daily-report-detail-list",XC=C("relative w-full",Fa,ka,Ha),QC=C(Nt,"relative"),ZC=300,JC=e=>{let t=Km({seedPx:qp,quantumPx:Xp});for(let r of e.values())t.record(null,r);return t},Ac=e=>{let t=gt(null),[r,n]=Tn(null),o=us(t),a=jn(r),s=Ye(i=>(t.current=i,n(i),()=>{t.current=null,n(null)}),[]);return dr("div",{ref:s,className:Oa,children:dr("div",{className:Ma,children:o===null?null:dr(eI,{...e,viewportHeight:o,reducedMotion:a})})})},eI=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:s,reducedMotion:i})=>{let[{initialScrollAnchor:l,restored:d}]=Tn(()=>{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 z=rr(e,k.topItem.reportHubId);return z!==-1?{initialScrollAnchor:{index:z,offsetPx:k.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:k.topItem.index,offsetPx:0},restored:!0}}),c=gt(d),u=gt(n??null),m=Xe(()=>a?.current.measuredHeights??new Map),[p]=Tn(()=>JC(m.current)),[f]=Tn(()=>p.estimate()),y=gt(f),S=gt(null),h=ls(),D=Ul(),[g]=Tn(ws),R=gt(null),b=gt(null),E=gt(e),I=gt(o);db(()=>{E.current=e,I.current=o},[e,o]);let x=gt(null),[P,O]=Tn(0),B=gt(null),w=e.length,_=t===void 0?w:t,A=Ye(k=>{let z=ke(e,k);return z===void 0?Qa:z},[e]),T=Ye(k=>{let z=m.current.get(A(k).reportHubId);return z===void 0?y.current:z},[m,A]),L=Ye(k=>ys(e,k),[e]),F=wc(()=>({kind:"measured",heightOf:T}),[T]),U=Ye((k,z,ae)=>{if(x.current={reportHubId:k,index:z},ae==="held"){I.current?.(k,"held");return}O(ye=>ye+1),I.current?.(k,"settled")},[]),j=Ye((k,z)=>U(k,z,"settled"),[U]),G=Ye((k,z)=>{if(w===0)return;let ae=Math.max(0,k),ye=Math.min(w-1,z);if(ae>ye)return;let xe=new Set;for(let ze=ae;ze<=ye;ze++){let jt=A(ze);if(jt.businessDate&&xe.add(jt.businessDate),xe.size>=jp)break}xe.forEach(ze=>{D(ze)})},[A,w,D]),Q=gt(null),X=Ye(()=>Q.current,[]),fe=Ui({itemCount:w,getItem:A}),De=Ye(k=>{if(w===0)return;let{renderingStartIndex:z,renderingEndIndex:ae,visibleStartIndex:ye}=k,xe=A(ye);xe.reportHubId>0&&(Q.current=xe.reportHubId),xe.businessDate&&g.setLabel(Ne(xe.businessDate)),G(z,ae),G(ae+1,ae+Xa),G(z-Xa,z-1),fe(k)},[A,w,G,g,fe]),N=Ye(()=>B.current!==null,[]),{containerProps:V,handleRangeChange:K,handleScrollAdjust:re,attachVirtualScroll:he,handleRef:H,scroller:ee,attachScrollContainer:te,contentProps:Ee,keyboardHelp:Te,resolveSelectedIndex:ie,activateRow:xt,rowPass:Qe,rowScope:vt,selectionStore:ot}=Fi({items:e,selectedId:n??null,onSelect:o===void 0?null:U,onActivate:j,containerRef:S,rootRef:S,testId:cb,itemsRef:E,rowSetSize:_,rowSizing:F,arrowAlign:"top",isViewRevealPending:N,onRangeChange:De});xs({items:e,scroller:ee,readTopReportId:X});let ct=Ye(()=>{let k=p.estimate();k===y.current||ot.isHeld()||b.current!==null||(y.current=k,ee.reestimate(k))},[p,ot,ee]);db(()=>ot.subscribeHold(()=>{ot.isHeld()||ct()}),[ot,ct]);let at=Ye((k,z)=>{if(H.current===null)return!1;let ae=E.current,ye=z!==null&&z.reportHubId===k?Fe(ae,k,z.index):ie(ae,k);return ye===-1?!1:(c.current&&(c.current=!1,k===u.current)||z!==null&&z.reportHubId===k&&z.index===ye||ee.toIndex(ye,{align:"top"}),!0)},[H,ie,ee]);Dn(()=>{let k=x.current;x.current=null,B.current=null,n!=null&&(at(n,k)||(B.current=n))},[n,at]),Dn(()=>{let k=B.current;k!==null&&at(k,null)&&(B.current=null)},[e,at]),Dn(()=>{let k=a?.current;k&&(k.anchorReportHubId=n??null)},[n,a]),Dn(()=>{x.current=null},[P]);let Rt=gt(null),Kt=Ye(()=>{H.current&&(Rt.current=H.current);let k=a?.current,z=Rt.current;if(k&&z){let ye=z.getScrollAnchor(),xe=ye===null?void 0:ke(E.current,ye.index);ye&&xe&&(k.topItem={reportHubId:xe.reportHubId,index:ye.index,offsetPx:ye.offsetPx})}let ae=S.current;ae&&(ae.toggleAttribute(Pr,!0),b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{ae.toggleAttribute(Pr,!1),b.current=null,ct()},150))},[H,a,ct]),$t=Ye(k=>dr(As,{...k,store:g}),[g]);Dn(()=>{let k=S.current;if(!k)return;let z=()=>{g.setWheelScrollActive(!0),R.current&&clearTimeout(R.current),R.current=window.setTimeout(()=>{g.setWheelScrollActive(!1),R.current=null},Za)};return k.addEventListener("wheel",z,{passive:!0}),()=>{k.removeEventListener("wheel",z),R.current&&clearTimeout(R.current)}},[g]);let Dt=Ye(k=>{for(let[z,ae]of k){Qe.measured(z);let ye=z.parentElement,xe=ye===null?null:jo(ye),ze=ye===null?null:Vr(ye);if(xe===null||ze===null)continue;let jt=ae+2*ur,Lr=m.current.get(xe);if(Lr===jt)continue;let xn=Fe(E.current,xe,ze-1);xn!==-1&&(m.current.set(xe,jt),p.record(Lr===void 0?null:Lr,jt),ee.resizeRow(xn,jt))}ct()},[m,ee,Qe,p,ct]),[v]=Tn(()=>zm(Dt)),M=v.observe,W=Ye(k=>{let z=je(k),ae=te(k),ye=v.attach(z),xe=Qe.attach(z,v.remeasure);return()=>{xe(),ye(),ae()}},[te,Qe,v]);Dn(()=>{w!==0&&G(0,Math.min(w-1,Xa))},[w,G]);let Y=gt(null),oe=Ye(k=>{let z=Fe(E.current,k,null);z!==-1&&(Y.current!==null&&clearTimeout(Y.current),Y.current=setTimeout(()=>{Y.current=null;let ae=Fe(E.current,k,z);ae!==-1&&ee.toIndex(ae,{align:"bottom"})},ZC))},[ee]);Dn(()=>()=>{Y.current!==null&&clearTimeout(Y.current)},[]);let ue=Ye(k=>{if(!I.current)return;let z=dn(k.target,S.current);if(z===null||Bm(k.target,z))return;let ae=Hm(z,E.current);ae!==null&&(xt(ae.reportHubId,ae.index),U(ae.reportHubId,ae.index,"settled"))},[U,xt]),$=Ye((k,z)=>dr(un.Provider,{value:z,children:dr(Yo.Provider,{value:k.reportHubId,children:dr(Yh,{item:k,observeRowHeight:M,onCommentAdded:oe,userId:r})})},k.reportHubId),[M,oe,r]),ne=wc(()=>({...es,renderThumbOverlay:$t}),[$t]),Le=wc(()=>dr(cn.Provider,{value:_,children:dr(Hi,{ref:he,rowScope:vt,items:e,itemCount:w,getItem:A,getItemKey:L,getItemHeight:T,estimatedItemHeight:f,viewportSize:s,initialScrollAnchor:l,overscanCount:Ja,scrollBarOptions:ne,behaviorOptions:i?qC:ub,onRangeChange:K,onScrollAdjust:re,onScroll:Kt,testId:cb,className:XC,locale:h.locale,labels:h.labels,contentProps:Ee,children:$})}),[he,vt,e,_,w,A,L,T,f,s,i,l,ne,K,re,Kt,h.locale,h.labels,Ee,$]);return dr(rI,{children:tI("div",{ref:W,className:QC,...Ss,...V,onClick:ue,children:[Te,Le]})})};import fb from"lucide-react/dist/esm/icons/refresh-cw.js";import{createContext as sI,memo as iI,useContext as lI,useLayoutEffect as dI,useRef as cI}from"react";import{jsx as xc,jsxs as nI}from"react/jsx-runtime";var Vi=e=>10**String(e).length-1,ca=({text:e,widestTexts:t,ref:r})=>nI("span",{ref:r,className:_u,children:[xc("span",{"aria-hidden":"true",className:Pa,children:[...new Set(t)].map(n=>xc("span",{className:Jr,children:n},n))}),xc("span",{className:Lu,children:e})]});import{useLayoutEffect as oI,useState as pb}from"react";import{jsx as mb,jsxs as aI}from"react/jsx-runtime";var vc=Object.freeze({status:"",alert:""}),Wi=({announcement:e,testId:t})=>{let[r]=pb(e),[n,o]=pb(!1),a=n||e.status!==r.status||e.alert!==r.alert;oI(()=>{a&&!n&&o(!0)},[a,n]);let{status:s,alert:i}=a?e:vc;return aI("span",{"data-testid":t,className:"sr-only",children:[mb("span",{role:"status",children:s}),mb("span",{role:"alert",children:i})]})};import{Fragment as TI,jsx as Et,jsxs as zt}from"react/jsx-runtime";var Ic=sI(!0),uI="daily-report-ids-stream-status-announcer",pI="inline-grid whitespace-nowrap text-start",hb="col-start-1 row-start-1",mI=`${Pa} ${hb}`,fI=`${hb} flex justify-self-start rounded-full empty:not-focus:invisible ${le}`,bb=C(Je,"gap-1 bg-blue-100 font-medium text-blue-800 text-xs tabular-nums dark:bg-blue-900/40 dark:text-blue-300"),Cc="size-2 rounded-full bg-blue-500 dark:bg-blue-400",Sb=C(Je,"gap-1 bg-amber-100 font-medium text-amber-900 text-xs tabular-nums dark:bg-amber-900/40 dark:text-amber-300"),gb=C(Je,"gap-1 bg-rose-100 font-medium text-rose-900 text-xs dark:bg-rose-900/40 dark:text-rose-300"),Eb=C(Je,"gap-1 bg-slate-100 font-medium text-slate-700 text-xs dark:bg-slate-800/40 dark:text-slate-300"),Db=C("inline-flex h-5 items-center rounded-full bg-rose-100 px-2 font-semibold text-rose-900 hover:bg-rose-200 hover:text-rose-950 dark:bg-rose-900 dark:text-rose-50 dark:hover:bg-rose-800 dark:hover:text-rose-50",le),yb="size-3",Rb=`${bb} ${Jr}`,yI=`${Sb} ${Jr}`,RI=`${gb} ${Jr}`,hI=`${Eb} ${Jr}`,Tb=(e,t)=>Vi(t===null?e:Math.max(e,t)),bI=(e,t,r)=>{let n=Tb(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)}},SI=({labels:e,loadedCount:t,totalCount:r})=>{let{text:n,widestText:o}=bI(e,t,r);return zt("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:bb,children:[Et("span",{"aria-hidden":"true",className:Cc}),Et(ca,{text:n,widestTexts:[o]})]})},gI=(e,t,r)=>e.phase==="streaming"?Et(SI,{labels:t,loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?zt("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:Sb,children:[Et(fb,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?zt("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:gb,children:[t.streamFailed,Et("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:r,className:Db,children:t.streamRetry})]}):e.isRevalidating?zt("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"revalidating",className:Eb,children:[Et(fb,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null,EI=iI(({labels:e,widest:t})=>zt("span",{"aria-hidden":"true",className:mI,children:[zt("span",{className:Rb,children:[Et("span",{className:Cc}),e.streamProgressCount(t)]}),zt("span",{className:Rb,children:[Et("span",{className:Cc}),e.streamProgressRatio(t,t,100)]}),zt("span",{className:yI,children:[Et("span",{className:yb}),e.streamRetrying(t)]}),zt("span",{className:RI,children:[e.streamFailed,Et("span",{className:Db,children:e.streamRetry})]}),zt("span",{className:hI,children:[Et("span",{className:yb}),e.streamRevalidating]})]})),_c=(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:""}:vc,DI=(e,t)=>_c({phase:e.phase,hasItems:!0,retryingCount:e.phase==="retrying"?e.loadedCount:null},t),ua=()=>{let e=Ff(),{labels:t}=q(),r=lI(Ic),n=cI(null),a=gI(e,t,()=>{Ar([n.current]),Us()}),s=a===null;return dI(()=>{let i=n.current;!s||i===null||!i.contains(tt(i))||Ar(qs(i.ownerDocument))},[s]),zt(TI,{children:[zt("span",{className:pI,children:[Et(EI,{labels:t,widest:Tb(e.loadedCount,e.totalCount)}),Et("span",{ref:n,tabIndex:-1,"data-daily-report-stream-status":"",className:fI,children:a})]}),r?Et(Wi,{announcement:DI(e,t),testId:uI}):null]})};import{Panel as Yb,PanelGroup as Y_,PanelResizeHandle as q_}from"@aiquants/resize-panels";import{useCallback as mt,useEffect as qi,useLayoutEffect as Xi,useMemo as Uc,useRef as Qr,useState as Zi}from"react";import{useSyncExternalStore as wI}from"react";var wb="(max-width: 639px)",AI=()=>{},xI=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return AI;let t=window.matchMedia(wb);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},vI=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(wb).matches:!1,CI=()=>!1,Ab=()=>wI(xI,vI,CI);import{SwipeCloseGuardContext as n_,useSwipeGuardState as o_,useSwipeToDismissOverlay as a_,useTapClick as s_,useTransitionDisplay as i_}from"@aiquants/swipe-overlay";import{useCallback as $i,useEffect as ba,useId as Hb,useLayoutEffect as Fc,useRef as Xt,useState as ji}from"react";var II={kind:"hold"},_I=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),LI=(e,t)=>{let r=e.getAttribute("role");return r!==null&&_I.has(r)&&e!==t&&e.contains(t)},xb=e=>e.key==="Escape"&&!e.defaultPrevented&&!bn(e),vb=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||bn(e))return null;let r=e.target;if(!(Pe(r)&&t.contains(r)))return null;let n=cs(t);if(n.length===0)return II;let{before:o,within:a,after:s}=Vo(t,r);return e.shiftKey?o.some(i=>!LI(i,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||s.length>0?null:{kind:"wrap",element:n[0]}};import{useMemo as NI}from"react";var pa=(e,t)=>{let{id:r,indexHint:n}=t;return NI(()=>{if(r===null)return null;let o=Fe(e,r,n);return o===-1?null:nr(e,o)},[e,r,n])};import OI from"lucide-react/dist/esm/icons/pencil.js";import MI from"lucide-react/dist/esm/icons/trash-2.js";import{memo as PI,useCallback as wn,useDeferredValue as kI,useEffect as Oc,useId as _b,useLayoutEffect as Mc,useMemo as ha,useRef as Ra,useState as Lb,useSyncExternalStore as FI}from"react";import*as Cr from"@radix-ui/react-tabs";import*as At from"react";import{jsx as yo}from"react/jsx-runtime";var Cb=At.createContext(null),Ib=e=>{let t=At.useContext(Cb);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},Lc=(e,t)=>`${e}-trigger-${t}`,Nc=(e,t)=>`${e}-panel-${t}`,ma=At.forwardRef(({value:e,children:t,...r},n)=>{let o=At.useId(),a=At.useMemo(()=>({baseId:o,value:e}),[o,e]);return yo(Cr.Root,{ref:n,value:e,...r,children:yo(Cb,{value:a,children:t})})});ma.displayName=Cr.Root.displayName;var fa=At.forwardRef(({className:e,...t},r)=>yo(Cr.List,{ref:r,className:C("inline-flex",e),...t}));fa.displayName=Cr.List.displayName;var ya=At.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=Ib("TabsTrigger");return yo(Cr.Trigger,{ref:n,value:t,...r,id:Lc(o,t),"aria-controls":Nc(o,t),className:C(`${Eu} ${le}`,e)})});ya.displayName=Cr.Trigger.displayName;var Ro=At.forwardRef(({className:e,value:t,tabStop:r,children:n,...o},a)=>{let{baseId:s,value:i}=Ib("TabsContent"),l=t===i,d="mt-2 data-[state=inactive]:hidden";return r?yo("div",{ref:a,role:"tabpanel",id:Nc(s,t),"aria-labelledby":Lc(s,t),"data-state":l?"active":"inactive",hidden:!l,tabIndex:0,...o,className:C(`${d} ${le}`,e),children:l?n:null}):yo("div",{ref:a,role:"tabpanel",id:Nc(s,t),"aria-labelledby":Lc(s,t),"data-state":l?"active":"inactive",hidden:!l,...o,className:C(d,e),children:l?n:null})});Ro.displayName="TabsContent";import{jsx as Z,jsxs as Ir}from"react/jsx-runtime";var Pb=C(en,"w-24 shrink-0"),Nb={field:"flex items-baseline",label:Pb,value:"flex-1"},HI={field:"flex min-w-0 flex-1 items-baseline",label:Pb,value:"wrap-break-word min-w-0 flex-1"},BI={field:"flex flex-col gap-1",label:en,value:""},UI={field:"flex min-w-0 items-center gap-1",label:C(en,"shrink-0 whitespace-nowrap"),value:""},VI=`flex min-h-4 flex-wrap items-center gap-x-2 gap-y-1 ${de} text-xs`,Ob=C("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",dl,ou,nu),Mb={desktop:C(Ob,ku),overlay:Ob},WI=C("flex flex-col gap-1",cl),zI=C(Su,"grid grid-cols-2 gap-1"),KI=C("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",le),Pc=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)})}},$I=(e,t,r,n,o,a,s)=>{let i=Ra(null),l=e?.reportHubId;Mc(()=>{i.current=null},[l]),Oc(()=>{o||(i.current=null)},[o]);let d=wn(async(c,u)=>{u||(i.current=c.reportHubId);try{await s(c.reportHubId,In(yr(c,t),c.contentDigest),c.date)}catch{}},[s,t]);return Oc(()=>{if(!(n&&e&&yr(e,t)!=="read"&&!r)||i.current===e.reportHubId)return;let c=null,u=()=>{c!==null&&clearTimeout(c),c=a.isDwelling()?setTimeout(()=>d(e,!0),500):null};u();let m=a.subscribe(u);return()=>{m(),c!==null&&clearTimeout(c)}},[e,t,r,n,d,a]),{handleToggleRead:d}},kc="article",jI=["article","relations"],GI=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},YI=C("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",Lt),qI=C("flex h-full flex-1 items-center justify-center text-center",vn),XI=9,QI=.875,ZI=16,kb=4*Math.ceil((2*ur+2*Ca+2*iu+XI*QI*ZI)/4),Fb=({dailyReportItems:e,selectionStore:t,autoMarkRead:r,userId:n,onReportDeleted:o})=>{let{labels:a}=q(),s=_b(),i=_b(),[l,d]=Lb(kc),{selected:c,settled:u}=FI(t.subscribe,t.getSnapshot,t.getSnapshot),m=pa(e,c),p=pa(e,kI(u)),f=m===null?null:m.reportHubId,S=(p===null?null:p.reportHubId)===f,[h]=Lb(()=>Pc(S));return Mc(()=>{h.set(S)},[h,S]),Z("aside",{"data-testid":"daily-report-side-pane","data-report-id":m?.reportHubId,"data-displayed-report-id":p?.reportHubId,"aria-busy":S?void 0:!0,className:YI,children:p===null?Z("div",{className:qI,children:Z("p",{className:fr,children:a.selectPrompt})}):Z(Ki,{item:p,placement:"desktop",headingId:s,authorId:i,activeTab:l,onActiveTabChange:d,autoMarkRead:r,isActive:!0,dwell:h,userId:n,onReportDeleted:o},p.reportHubId)})},JI=({reportHubId:e,children:t})=>{let r=ky(e);return Z(Jn,{reportHubId:e,entry:r,children:t})},Ki=PI(({item:e,placement:t,headingId:r,authorId:n,activeTab:o,onActiveTabChange:a,autoMarkRead:s,isActive:i,dwell:l,userId:d,onReportDeleted:c})=>{let{labels:u,sourceTypeConfigs:m,headingLevel:p}=q(),{report:f,error:y,isLoading:S}=Bl(e.reportHubId,e.businessDate),h=zr(),D=js(e.reportHubId),g=D==="editing"||D==="automatic",R=Ra(null),b=Ra(null),E=Ra(!1),I=Ra(!1),x=pn(f,d),P=f?.isDraft===!0;Oc(()=>{f!==null&&(x&&P&&D==="display"?h.open(e.reportHubId,ro(f),!0):!P&&D==="automatic"&&h.discard(e.reportHubId))},[f,x,P,D,h,e.reportHubId]);let O=ha(()=>f===null?void 0:()=>{E.current=!0,h.open(e.reportHubId,ro(f),!1)},[h,e.reportHubId,f]),B=wn(()=>{I.current=!0,h.dismiss(e.reportHubId)},[h,e.reportHubId]),w=wn(()=>{I.current=!0,h.discard(e.reportHubId)},[h,e.reportHubId]),_=wn(Q=>{Q===null||!E.current||(E.current=!1,Q.focus())},[]),A=wn(Q=>{Q===null||!I.current||(I.current=!1,Q.focus())},[]),T=wn(()=>{b.current?.focus({preventScroll:!0})},[]);Mc(()=>{g||!I.current||(I.current=!1,b.current?.focus())},[g]);let L=wn(()=>{setTimeout(()=>{let Q=R.current;Q!==null&&Q.scrollTo({top:Q.scrollHeight,behavior:df(Q)})},100)},[]),F=Ne(e.businessDate),U=ha(()=>f===null?null:Ke(f.employeeName),[f]),j=S||!f,G=f===null?void 0:Sr(f.sourceType,m);return Ir(JI,{reportHubId:e.reportHubId,children:[Ir("div",{className:WI,children:[Z("dl",{className:"m-0",children:Z(St,{label:u.businessDate,classNames:BI,children:Z(wt,{ref:b,level:p,id:r,tabIndex:-1,className:KI,children:F})})}),Ir("div",{className:VI,children:[Z("dl",{className:"m-0 min-w-0",children:Z(St,{label:u.author,classNames:UI,valueId:n,children:j||U===null?Z("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):Z(ge,{fieldKey:we.field("employeeName"),raw:f?.employeeName,display:U})})}),G?Z(lo,{config:G}):null,f===null?null:Z(mi,{isEditing:g,descriptionId:null})]})]}),Ir(ma,{value:o,onValueChange:Q=>a(GI(Q)),className:"flex min-h-0 flex-1 flex-col",children:[Z("div",{className:cl,children:Z(fa,{"aria-label":u.reportTabList,className:zI,children:jI.map(Q=>Z(ya,{value:Q,children:Q==="article"?u.tabArticle:u.tabRelations},Q))})}),Z(Ro,{ref:R,value:"article",tabStop:!0,className:Mb[t],children:g?f?Z(ui,{report:f,onCancel:B,onPublishSuccess:w,titleInputRef:_}):Z("p",{className:vn,children:u.loading}):Z(r_,{report:f,sourceConfig:G,isLoading:S,error:y,item:e,autoMarkRead:s,isActive:i,dwell:l,onCommentAdded:L,userId:d,onEdit:x?O:void 0,editButtonRef:A,onReportDeleted:c,onCommentSectionRemoved:T})}),Z(Ro,{value:"relations",tabStop:!0,className:Mb[t],children:Z("p",{className:vn,children:u.relationsEmpty})})]})]})});Ki.displayName="DailyReportSidePaneContent";var zi=({className:e="w-32"})=>Z("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),e_=["w-full","w-11/12","w-4/5"],t_=C(lu,Ia),r_=({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:m,onCommentSectionRemoved:p})=>{let{toggleStar:f,toggleRead:y,deleteReport:S}=lt(),{labels:h,headingLevel:D}=q(),g=Kr[D],{handleToggleRead:R}=$I(e,d,r,a,s,i,y),b=e!==null&&Ya(e.sourceType,t),E=e===null?null:yr(e,d),I=ha(()=>e?.content?ju(e.content):null,[e]),x=ha(()=>Ke(e?.subject),[e]),P=ha(()=>Ke(e?.customerName),[e]),O=async A=>{try{await f(A.reportHubId,!A.isStarred,A.date)}catch{}},B=async A=>{if(confirm(h.confirmDelete)){try{await S(A.reportHubId,A.date)}catch{return}m(A.reportHubId)}};if(n)return Z("p",{className:Eo,children:h.reportLoadFailed(o.reportHubId)});let w=!e,_=pn(e,d);return Ir("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:c,children:[Ir("div",{className:"flex items-start gap-2",children:[Z("dl",{className:"m-0 flex min-w-0 flex-1",children:Z(St,{label:h.subject,classNames:HI,children:w?Z(zi,{className:"w-3/4"}):Z("span",{className:"text-sm",children:Z(ge,{fieldKey:we.field("subject"),raw:e?.subject,display:x})})})}),!w&&e&&E&&Ir("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[Z(po,{readState:E,label:h.updatedSinceRead}),Z("button",{type:"button",onClick:()=>O(e),className:it,title:e.isStarred?h.starRemove:h.starAdd,"aria-label":e.isStarred?h.starRemove:h.starAdd,"data-detail-star-button":e.reportHubId,children:Z(co,{filled:e.isStarred})}),Z("button",{type:"button",onClick:()=>R(e,!1),className:it,title:Sn(E,h),"aria-label":Sn(E,h),"data-detail-read-button":e.reportHubId,children:Z(uo,{readState:E})}),c&&Z("button",{ref:u,type:"button",onClick:c,"data-detail-edit-button":e.reportHubId,className:it,title:h.edit,"aria-label":h.edit,children:Z(OI,{className:et.edit})}),_&&Z("button",{type:"button",onClick:()=>B(e),"data-detail-delete-button":e.reportHubId,className:it,title:h.deleteReport,"aria-label":h.deleteReport,children:Z(MI,{className:et.delete})})]})]}),Z("dl",{className:"m-0",children:Z(St,{label:h.customer,classNames:Nb,children:w?Z(zi,{className:"w-1/2"}):Z("span",{className:"text-sm",children:Z(ge,{fieldKey:we.field("customerName"),raw:e?.customerName,display:P})})})}),Ir("div",{className:"flex flex-col gap-2",children:[Z(wt,{level:g,className:mr,children:h.content}),Z("div",{className:t_,children:w?e_.map(A=>Z("div",{className:du,children:Z(zi,{className:A})},A)):I!==null&&I.text.length>0?Z("div",{className:"whitespace-pre-wrap",children:Z(ge,{fieldKey:we.field("content"),raw:e?.content,display:I})}):Z("p",{className:de,children:h.contentEmpty})})]}),Z("dl",{className:"m-0",children:Z(St,{label:h.visitTime,classNames:Nb,children:w?Z(zi,{className:"w-1/3"}):Ir("span",{className:"text-sm",children:[Br(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",Br(e?.visitTimeTo)]})})}),e&&Z(ai,{attachments:e.attachments}),e&&Z(ia,{report:e,userId:d,canComment:b,onCommentAdded:l,onSectionRemoved:p,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};import{jsx as Xr,jsxs as Bb}from"react/jsx-runtime";var l_="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]",d_={right:"var(--aqdr-overlay-right, 0px)"},c_="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",u_=C("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",Iu),p_=C("inline-flex h-9 touch-manipulation items-center rounded-full border border-slate-300 border-solid px-[15px] font-medium text-slate-700 text-sm shadow-sm hover:bg-slate-100 dark:border-slate-600 dark:text-slate-200 dark:hover:bg-slate-800",le),m_="flex shrink-0 justify-center empty:hidden",f_=50,Ub=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[s,i]=ji(!1),[l,d]=ji(!1),c=Xt(null),u=Xt(null),m=Xt(null),p=Xt(e),f=Xt(!0),y=pa(r,t),S=$i(()=>{let R=o.current;if(R===null)return;let b=R.ownerDocument.body;m.current={body:b,overflow:b.style.overflow},b.style.overflow="hidden"},[o]),h=$i(()=>{let R=m.current;R!==null&&(R.body.style.overflow=R.overflow,m.current=null)},[]);ba(()=>{if(f.current){f.current=!1,p.current=e;return}let R=!p.current;p.current=e,R&&e&&a!==null?i(!0):!e&&s&&(u.current=a,i(!1),h())},[e,a,s,h]);let D=e&&s&&y!==null;ba(()=>{if(D)d(!0);else{let R=setTimeout(()=>d(!1),300);return()=>clearTimeout(R)}},[D]),ba(()=>{if(e&&s&&a!==null&&!c.current){let R=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:R},"",window.location.href),c.current=R}else!(e&&s)&&c.current&&(c.current=null);return e&&s?S():h(),h},[e,s,a,S,h]),ba(()=>{let R=()=>{c.current&&(u.current=a,c.current=null,i(!1),n(null))};return window.addEventListener("popstate",R),()=>window.removeEventListener("popstate",R)},[a,n]);let g=$i(()=>{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:D,handleOverlayClose:g,lastClosedItemIdRef:u,selectedItem:y}},Vb=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:s}=q(),{registerNoticeHost:i}=Qs(),l=Xt(null),d=Xt(null),c=Hb(),u=Hb(),[m,p]=ji(kc),f=Xt(!1),y=Xt(e),S=Xt(null),[h]=ji(()=>Pc(e)),{isBlocked:D,requestBlock:g,reset:R}=o_(),b=i_(e,t),{overlayRef:E,overlayStyle:I,attemptClose:x,isSwiping:P}=a_({isOpen:e,onClose:r,isCloseBlocked:$i(()=>D,[D]),skipWhenTextSelected:!0}),O=Xt(x);Fc(()=>{O.current=x,y.current=e,h.set(e)},[x,e,h]),Fc(()=>{let T=l.current;if(T===null)return;if(e){if(f.current)return;T.showModal(),f.current=!0,T.ownerDocument.getElementById(c)?.focus();return}if(!f.current)return;f.current=!1;let L=tt(T);L!==null&&T.contains(L)&&Wo(L)&&L.blur(),T.close()},[e,c]),Fc(()=>{let T=d.current;if(!(!e||T===null))return i(T)},[e,i]),ba(()=>{e||R()},[e,R]);let B=s_(()=>x()),w=T=>{let L=no(T);if(L.key==="Escape"){S.current=T.timeStamp;return}let F=vb(L,T.currentTarget);F!==null&&(T.preventDefault(),F.kind==="wrap"&&F.element.focus())},_=T=>{T.preventDefault();let L=S.current;S.current=null,!(L!==null&&T.timeStamp-L<=f_)&&O.current()},A=T=>{let L=T.currentTarget;L.open||!y.current||(f.current=!1,!O.current()&&(L.showModal(),f.current=!0))};return b?Bb("dialog",{ref:l,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${c} ${u}`,tabIndex:-1,className:C(l_,e&&!P?"pointer-events-auto":"pointer-events-none"),style:d_,inert:!e,onKeyDown:w,onCancel:_,onClose:A,children:[Xr("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:C(c_,e?"opacity-100":"opacity-0"),...B}),Xr("div",{ref:E,"data-daily-report-overlay-panel":"",className:C(u_,e?"pointer-events-auto":"pointer-events-none"),style:I,children:Bb("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[Xr(n_.Provider,{value:{isBlocked:D,requestBlock:g},children:Xr("div",{"data-testid":"daily-report-side-pane","data-report-id":b.reportHubId,"data-displayed-report-id":b.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:Xr(Ki,{item:b,placement:"overlay",headingId:c,authorId:u,activeTab:m,onActiveTabChange:p,autoMarkRead:n,isActive:e,dwell:h,userId:o,onReportDeleted:a},b.reportHubId)})}),Xr("div",{ref:d,"data-daily-report-notice-slot":"","data-overlay-interactive":"true",className:m_}),Xr("div",{className:"flex justify-start",children:Xr("button",{type:"button","data-overlay-interactive":"true",className:p_,onClick:()=>x(),children:s.close})})]})})]}):null};import{memo as Kb,useContext as $b,useEffect as C_,useMemo as Yi}from"react";import{createContext as y_,createElement as R_,useLayoutEffect as h_,useMemo as b_,useRef as S_,useState as g_}from"react";var E_=6.75,D_=4,T_=1e-6,w_=e=>4*Math.ceil((2*ur+2*Ca+D_+E_*e-T_)/4),Gi=y_(null),A_="data-daily-report-root-font-size-probe",x_={position:"fixed",insetBlockStart:0,insetInlineStart:0,visibility:"hidden",pointerEvents:"none",overflow:"hidden",writingMode:"horizontal-tb",boxSizing:"content-box",padding:0,border:0,margin:0,blockSize:"1rem",inlineSize:0},v_=e=>{let t=je(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])},Wb=()=>{let e=S_(null),[t,r]=g_(null);h_(()=>{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=w_(v_(o));l!==a&&(a=l,r(l))};s();let i=new ResizeObserver(s);return i.observe(o),()=>i.disconnect()},[]);let n=b_(()=>R_("div",{ref:e,"aria-hidden":!0,[A_]:"",style:x_}),[]);return{rowSlotHeight:t,remProbe:n}};import{jsx as ce,jsxs as bo}from"react/jsx-runtime";var I_=C(Fr,xa,va,Aa),__=C("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",Lt,_a,su),L_="min-w-24",N_="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",O_={touchAction:"manipulation"},M_=C("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",L_),P_=C("relative z-10",it),k_=C(Je,"shrink-0 whitespace-nowrap bg-slate-100 font-medium text-slate-900 text-xs dark:bg-slate-800 dark:text-slate-100"),F_=C(Je,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),H_=C(uu,"ml-auto"),B_=C("flex h-full",Lt),U_="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",ho="h-4 rounded bg-slate-200 dark:bg-slate-700",V_=ce("div",{"data-skeleton":!0,..._t,className:B_,children:bo("div",{className:U_,children:[bo("div",{className:"flex flex-wrap items-center gap-2",children:[ce("div",{className:C(ho,"w-24")}),ce("div",{className:C(ho,"w-24")}),ce("div",{className:C(ho,"w-24")})]}),bo("div",{className:"space-y-2",children:[ce("div",{className:C(ho,"w-full")}),ce("div",{className:C(ho,"w-11/12")}),ce("div",{className:C(ho,"w-5/6")})]})]})}),W_=()=>V_,z_="flex h-full items-center justify-center rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-800 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",K_=`flex h-full items-center justify-center rounded-2xl border border-slate-200 border-solid bg-slate-50 p-[15px] ${de} text-sm dark:border-slate-700 dark:bg-slate-900/40`,$_=e=>{e.target===e.currentTarget&&e.preventDefault()},Hc=({reportHubId:e,rowId:t,name:r,children:n})=>{let o=$b(Gi);if(o===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let a=Yi(()=>({height:o}),[o]);return ce(Ai,{reportHubId:e,rowId:t,name:r,className:I_,style:a,onMouseDown:$_,children:n})},jb=e=>$u(e??null,Yp),j_=({report:e,viewerUserId:t,sourceConfig:r,marks:n,marksStore:o,labels:a})=>Ci({state:()=>a.rowState({readState:yr(e,t),isStarred:e.isStarred}),attachmentCount:e.attachments.length,sourceConfig:r,preview:()=>{let s=jb(e.content);return s.length>0?s.map(i=>i.text).join(" "):a.contentEmptyPreview},marks:n,marksStore:o,labels:a}),G_=(e,t)=>`${Ne(e.businessDate)} ${Ke(t.employeeName).text}`,zb=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=to();return ce("button",{type:"button",title:e,"aria-label":e,...o,...t,onClick:r,className:P_,children:n})},Gb=Kb(({item:e,report:t,viewerUserId:r,rowId:n,sourceConfig:o,describedBy:a,onSelect:s})=>{let{labels:i}=q(),{toggleStar:l,toggleRead:d}=lt(),c=Ie(n,"name"),u=Yi(()=>jb(t.content),[t.content]),m=Yi(()=>Ke(t.employeeName),[t.employeeName]),p=Ne(e.businessDate),f=R=>{R.currentTarget.focus({preventScroll:!0});let b=Fm(R.currentTarget);b!==null&&s(e.reportHubId,b)},y=async()=>{let R=!t.isStarred;try{await l(t.reportHubId,R,t.date)}catch{}},S=yr(t,r),h=async()=>{try{await d(t.reportHubId,In(S,t.contentDigest),t.date)}catch{}},D=t.isStarred?i.starRemove:i.starAdd,g=Sn(S,i);return bo("div",{"data-daily-report-card":!0,..._t,"aria-labelledby":c,style:O_,className:__,children:[ce(io,{id:Ie(n,"position"),whileTotalUnknownOnly:!1}),ce("span",{id:Ie(n,"state"),className:"sr-only",children:i.rowState({readState:S,isStarred:t.isStarred})}),bo("button",{id:c,type:"button",tabIndex:-1,[Nm]:e.reportHubId,...bs,"aria-describedby":a,onClick:f,className:M_,children:[ce("span",{className:k_,children:p})," ",ce("span",{className:F_,children:ce("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:ce(ge,{fieldKey:we.field("employeeName"),raw:t.employeeName,display:m})})})]}),bo("div",{className:H_,children:[ce(Do,{id:Ie(n,"attachments"),count:t.attachments.length,label:i.attachments}),o?ce(lo,{id:Ie(n,"source"),config:o}):null,ce(po,{readState:S,label:i.updatedSinceRead}),ce(zb,{label:D,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:y,children:ce(co,{filled:t.isStarred})}),ce(zb,{label:g,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:h,children:ce(uo,{readState:S})})]}),ce("div",{id:Ie(n,"preview"),className:N_,children:u.length>0?u.map((R,b)=>ce("p",{className:"wrap-break-word line-clamp-1",children:ce(ge,{fieldKey:we.field("content"),raw:t.content,display:R})},b)):ce("p",{children:i.contentEmptyPreview})}),ce(eh,{id:Ie(n,"match")})]})});Gb.displayName="ListReportCard";var Bc=Kb(({item:e,onSelect:t,userId:r})=>{let{labels:n,sourceTypeConfigs:o}=q(),{removeStaleItem:a}=lt(),s=nn(),i=$b(pt),l=Yi(()=>_i(s,i,e.reportHubId,e.businessDate),[s,i,e.reportHubId,e.businessDate]),{bodyReady:d,rendered:c}=Ts(e.reportHubId,l,"fixed"),{report:u,error:m}=c.detail,p=c.marksStore===i?c.marks:null,{report:f,error:y,isLoading:S,isRefetching:h}=l.read().detail,D=Ti(e.reportHubId),g=f===null&&y===null&&!S&&!h;C_(()=>{g&&e.reportHubId>0&&a(e.reportHubId)},[g,e.reportHubId,a]);let R=Ne(e.businessDate),b=Ie(D,"state"),E=(O,B,w)=>ce(Hc,{reportHubId:e.reportHubId,rowId:D,name:{kind:"label",label:R,isBusy:B,describedBy:w},children:O});if(!d&&(m!==null||u===null))return E(wi,!0,so);if(m!==null)return E(ce("div",{..._t,className:z_,children:ce("p",{id:b,children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1,[b]);if(u===null&&(S||f!==null||y!==null))return E(ce(W_,{}),!0,so);if(!u)return E(ce("div",{..._t,className:K_,children:ce("p",{id:b,children:n.reportNotFound})}),!1,[b]);let I=Sr(u.sourceType,o),x=j_({report:u,viewerUserId:r,sourceConfig:I,marks:p,marksStore:i,labels:n}),P=da(D,x);return d?ce(Hc,{reportHubId:e.reportHubId,rowId:D,name:{kind:"parts",describedBy:P},children:ce(Jn,{reportHubId:e.reportHubId,entry:p,children:ce(Gb,{item:e,report:u,viewerUserId:r,rowId:D,sourceConfig:I,describedBy:[Ie(D,"position"),...P].join(" "),onSelect:t})})}):ce(Hc,{reportHubId:e.reportHubId,rowId:D,name:{kind:"parts",describedBy:P},children:ce(Ii,{rowId:D,name:G_(e,u),description:x})})});Bc.displayName="ListReportItem";import{Fragment as dL,jsx as ft,jsxs as Qi}from"react/jsx-runtime";var Xb={pointerDragInputs:ts,inertiaOptions:$n(!1),wheelSpeedMultiplier:qa,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},X_={...Xb,inertiaOptions:$n(!0)},Qb=Object.freeze({value:360,unit:"pixels"}),Zb=Object.freeze({value:160,unit:"pixels"}),Q_=Object.freeze({value:kb,unit:"pixels"}),Jb=Object.freeze({value:520,unit:"pixels"}),Z_=Object.freeze([Zb,Qb,Jb]),J_=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),eL=C("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",le),tL=C("relative w-full",Fa,ka,Ha),rL=C(Nt,"relative isolate overflow-hidden"),qb="daily-report-list",nL=()=>!1,oL=()=>{throw new Error("[daily-report] a List activation arrived before the view committed")},aL=e=>{let[t,r]=Zi(!1);return Xi(()=>{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<Gp)},a=new(je(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},Vc=e=>{let t=Qr(null),[r,n]=Zi(null),o=us(t),a=aL(t),{rowSlotHeight:s,remProbe:i}=Wb(),l=jn(r),d=mt(c=>(t.current=c,n(c),()=>{t.current=null,n(null)}),[]);return Qi("div",{ref:d,className:Oa,"data-testid":"daily-report-root",children:[i,o===null||s===null?null:ft(sL,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:s,isContainerNarrow:a,reducedMotion:l})]})},sL=({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[m]=Zi(()=>s?.current??0),p=Qr(null),{labels:f}=q(),y=ls(),[S]=Zi(ws),D=Ab()||c,g=Qr(null),R=e.length,b=t===void 0?R:t,E=Qr(null),I=mt(($,ne,Le)=>o($,Le),[o]),x=mt($=>o($,"settled"),[o]),P=mt($=>{let ne=ke(e,$);return ne===void 0?Qa:ne},[e]),O=Qr(null),B=Ui({itemCount:R,getItem:P}),w=mt($=>{let ne=P($.visibleStartIndex);ne.reportHubId>0&&(S.setLabel(Ne(ne.businessDate)),O.current=ne.reportHubId),B($)},[P,S,B]),_=mt(()=>O.current,[]),A=Uc(()=>({kind:"uniform",rowHeight:d}),[d]),T=Qr(e);Xi(()=>{T.current=e},[e]);let L=Qr(oL),F=mt($=>L.current($),[]),{containerProps:U,handleRangeChange:j,handleScrollAdjust:G,attachVirtualScroll:Q,handleRef:X,scroller:fe,attachScrollContainer:De,contentProps:N,keyboardHelp:V,selection:K,selectionStore:re,activateRow:he,focusViewRow:H,focusAfterRemoval:ee,rowPass:te,rowScope:Ee}=Fi({items:e,selectedId:n,onSelect:I,onActivate:F,containerRef:p,rootRef:i,testId:qb,itemsRef:T,rowSetSize:b,rowSizing:A,arrowAlign:"nearest",isViewRevealPending:nL,onRangeChange:w});xs({items:e,scroller:fe,readTopReportId:_});let{isMobileDetailOpen:Te,setIsMobileDetailOpen:ie,isOverlayMounted:xt,shouldShowOverlay:Qe,handleOverlayClose:vt,lastClosedItemIdRef:ot,selectedItem:ct}=Ub({isMobileLayout:D,selection:K,dailyReportItems:e,onSelectItem:x,rootRef:i});qi(()=>{let $=p.current,ne=()=>{S.setWheelScrollActive(!0),g.current&&clearTimeout(g.current),g.current=window.setTimeout(()=>{S.setWheelScrollActive(!1),g.current=null},Za)};return $?.addEventListener("wheel",ne,{passive:!0}),()=>{$?.removeEventListener("wheel",ne),g.current&&clearTimeout(g.current)}},[S]),qi(()=>{!R&&n!==null&&x(null)},[R,n,x]),qi(()=>{if(Te||ot.current===null)return;let $=ot.current;ot.current=null,H($,"overlay")},[Te,ot,H]),qi(()=>{let $=ke(e,0);$!==void 0&&S.setLabel(Ne($.businessDate))},[e,S]);let at=mt($=>{x($),D&&ie(!0)},[D,x,ie]);Xi(()=>{L.current=at},[at]);let Rt=mt(($,ne)=>{$<=0||(he($,ne),at($))},[he,at]),Kt=mt(()=>d,[d]),$t=Qr(d);Xi(()=>{let $=$t.current;$t.current=d;let ne=X.current;if($===d||ne===null)return;let Le=ne.getScrollPosition();Le>0&&fe.by(Le*d/$-Le)},[X,d,fe]);let Dt=mt($=>ys(e,$),[e]),v=mt(($,ne)=>ft(un.Provider,{value:ne,children:ft(Yo.Provider,{value:$.reportHubId,children:ft(Bc,{item:$,onSelect:Rt,userId:a})})},$.reportHubId),[Rt,a]),M=mt($=>{let ne=De($),Le=te.attach(je($),null);return()=>{Le(),ne()}},[De,te]),W=mt($=>{s&&(s.current=$);let ne=p.current;ne&&(ne.toggleAttribute(Pr,!0),E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{ne.toggleAttribute(Pr,!1),E.current=null},150))},[s]),Y=mt($=>ft(As,{...$,store:S}),[S]),oe=Uc(()=>Qi("div",{ref:M,className:rL,...Ss,...U,children:[V,ft(cn.Provider,{value:b,children:ft(Gi.Provider,{value:d,children:ft(Hi,{ref:Q,rowScope:Ee,items:e,itemCount:R,getItem:P,getItemKey:Dt,getItemHeight:Kt,viewportSize:l,initialScrollOffset:m,overscanCount:Ja,scrollBarOptions:{...es,renderThumbOverlay:Y},behaviorOptions:u?X_:Xb,onRangeChange:j,onScrollAdjust:G,onScroll:W,testId:qb,className:tL,locale:y.locale,labels:y.labels,contentProps:N,children:v})})})]}),[M,Q,Ee,e,U,b,R,P,Dt,Kt,l,d,u,m,Y,j,G,W,V,N,y.locale,y.labels,v]),ue=Uc(()=>Qi(Y_,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[ft(Yb,{id:"daily-report-list-panel",defaultSize:Qb,minSize:Zb,maxSize:Jb,contentOverflow:"hidden",className:iL,children:oe}),ft(q_,{id:"daily-report-list-handle",thickness:10,indicator:J_,className:eL,activationSizes:Z_,"aria-label":f.resizeHandle,title:f.resizeHandleHint}),ft(Yb,{id:"daily-report-detail-panel",minSize:Q_,contentOverflow:"hidden",className:lL,children:ft(Fb,{dailyReportItems:e,selectionStore:re,autoMarkRead:r,userId:a,onReportDeleted:ee})})]}),[oe,f.resizeHandle,f.resizeHandleHint,e,re,r,a,ee]);return Qi(dL,{children:[ft("div",{className:Ma,children:D?ft("div",{className:Nt,children:oe}):ue}),xt&&ft(Vb,{isOpen:Qe,selectedItem:ct,onClose:vt,autoMarkRead:D&&r,userId:a,onReportDeleted:ee})]})},iL=C("flex min-h-0",ru),lL=C("flex min-h-0 flex-1",Fr);import{useCallback as YN,useEffect as zS,useLayoutEffect as qN,useRef as $S,useState as XN}from"react";import gN from"lucide-react/dist/esm/icons/plus.js";import EN from"lucide-react/dist/esm/icons/refresh-cw.js";import DN from"lucide-react/dist/esm/icons/rotate-cw.js";import{useEffect as Zc,useId as BS,useLayoutEffect as US,useMemo as sl,useRef as go,useState as An}from"react";import{useSearchParams as TN}from"react-router";import{useEffect as cL,useRef as eS,useState as uL}from"react";var tS=(e,t,r=250)=>{let n=jn(t),[o,a]=uL(e),s=eS(e),i=eS(!0);return cL(()=>{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=je(t),c=0,u=null,m=p=>{u===null&&(u=p);let f=Math.min(1,Math.max(0,(p-u)/r)),y=1-(1-f)**3,S=Math.round(l+(e-l)*y);s.current=S,a(S),f<1&&(c=d.requestAnimationFrame(m))};return c=d.requestAnimationFrame(m),()=>d.cancelAnimationFrame(c)},[e,r,n,t]),n?e:o};import vL from"lucide-react/dist/esm/icons/loader-circle.js";import CL from"lucide-react/dist/esm/icons/x.js";import{useEffect as dS,useId as ga,useLayoutEffect as IL,useRef as tl,useState as cS}from"react";var Sa=Object.freeze({maxValuesPerFacet:16,maxValueLength:200,maxTotalValueLength:300}),Kc=["author","sourceType","customer"],$c=Object.freeze({authors:Object.freeze([]),sourceTypes:Object.freeze([]),customers:Object.freeze([])}),pL=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,mL=e=>{let t=e.trim();return t.length===0?null:t.replace(pL,"\uFFFD")},rS=e=>{let t=mL(e);return t===null?"filter-blank-value":t!==e?"filter-value-not-canonical":e.length>Sa.maxValueLength?"filter-value-too-long":null},fL=e=>{if(e.length>Sa.maxValuesPerFacet)return"filter-too-many-values";let t=new Set;for(let r of e){let n=rS(r);if(n!==null)return n;if(t.has(r))return"filter-duplicate-value";t.add(r)}return null},yL=e=>{let t=0;for(let r of e.authors)t+=r.length;for(let r of e.customers)t+=r.length;return t},Ji=e=>{for(let t of[e.authors,e.sourceTypes,e.customers]){let r=fL(t);if(r!==null)return r}return yL(e)>Sa.maxTotalValueLength?"filters-too-long":null},Wc=e=>[...new Set(e)].sort((t,r)=>t<r?-1:1),el=e=>({authors:Wc(e.authors),sourceTypes:Wc(e.sourceTypes),customers:Wc(e.customers)}),Zr=e=>e.trim().length===0,So=e=>e.authors.length===0&&e.sourceTypes.length===0&&e.customers.length===0,nS=(e,t)=>{let r=el(t);for(let n of r.authors)e.append(Ue.searchAuthor,n);for(let n of r.sourceTypes)e.append(Ue.searchSourceType,n);for(let n of r.customers)e.append(Ue.searchCustomer,n)},zc=e=>{if(!Array.isArray(e))return null;let t=[],r=new Set;for(let n of e){if(typeof n!="string"||rS(n)!==null||r.has(n))return null;r.add(n),t.push(n)}return t},oS=e=>{if(!br(e))return null;let t=zc(e.sourceTypes),r=zc(e.authors),n=zc(e.customers);return t===null||r===null||n===null?null:{sourceTypes:t,authors:r,customers:n}};import{Component as RL,Suspense as hL,useMemo as aS,useState as bL}from"react";import{jsx as _r,jsxs as lS}from"react/jsx-runtime";var sS="flex min-h-6 items-center text-slate-600 text-xs dark:text-slate-300",SL=C(vu,fr),gL=[{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"}],EL=(e,t)=>t==="author"?e.author:t==="sourceType"?e.searchFilterSourceType:e.customer,DL=(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 Me(`config.search.renderFilterSelect (${e}) onChange values`,"distinct values of the options the control received",t);o.add(a)}return t},jc=class extends RL{constructor(){super(...arguments);this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?_r("span",{className:sS,children:this.props.fallback}):this.props.children}},TL=(e,t,r,n)=>{let o=aS(()=>new Set(t.map(s=>s.value)),[t]),a=JSON.stringify(n.filter(s=>!o.has(s)));return aS(()=>{let s=JSON.parse(a);return s.length===0?t:[...t,...s.map(i=>r(e,i))]},[e,t,r,a])};function wL({renderFilterSelect:e,selectProps:t}){return e(t)}var AL=(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 xL({cell:e,labels:t,locale:r,renderFilterSelect:n,candidates:o,optionOf:a,selected:s,onSelect:i}){let l=TL(e.facet,o,a,s),d=EL(t,e.facet);return lS("fieldset",{"data-testid":e.testId,className:xu,children:[_r("legend",{"data-testid":`${e.testId}-caption`,className:SL,children:d}),_r(jc,{fallback:t.searchFilterUnavailable,children:_r(hL,{fallback:_r("span",{className:sS,children:t.searchFiltersLoading}),children:_r(wL,{renderFilterSelect:n,selectProps:{facet:e.facet,label:d,options:l,value:s,onChange:c=>i(e,DL(e.facet,c,l)),locale:r}})})})]})}function iS({id:e,labelledBy:t,labels:r,locale:n,renderFilterSelect:o,facets:a,value:s,onChange:i,clearSignal:l}){let[d,c]=bL(null),u=AL(r,a,d!==null&&d.selection===s&&d.clearSignal===l),m=(f,y)=>{let S={...s,[f.key]:y};if(Ji(S)!==null){c({selection:s,clearSignal:l});return}c(null),i(S)},p=a.status==="ready"?a:null;return lS("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:[p===null?null:_r("div",{className:Au,children:gL.map(f=>_r(xL,{cell:f,labels:r,locale:n,renderFilterSelect:o,candidates:p.options[f.key],optionOf:p.optionOf,selected:s[f.key],onSelect:m},f.facet))}),_r("span",{"data-testid":"daily-report-search-filters-status","aria-live":"polite",className:C("flex min-h-6 items-center text-slate-600 text-xs leading-4 empty:min-h-0 dark:text-slate-300",p===null?null:"mt-2 empty:mt-0",fr),children:u})]})}import{Fragment as zL,jsx as yt,jsxs as Ea}from"react/jsx-runtime";var _L=C("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",pr,le),uS="inline-grid h-6 place-content-center place-items-center rounded-full border border-solid px-[11px] font-semibold text-xs tabular-nums",LL="col-start-1 row-start-1",NL="invisible col-start-1 row-start-1 after:content-[attr(data-search-toggle-reserve)]",rl=Object.freeze({field:C(uS,"bg-white text-slate-800 dark:bg-slate-900 dark:text-slate-100",pr,le),filled:C(uS,"border-blue-800 bg-blue-800 text-white dark:border-blue-300 dark:bg-blue-300 dark:text-slate-950 forced-colors:border-[Highlight] forced-colors:bg-[Highlight] forced-colors:text-[HighlightText]",le)}),OL=Object.freeze({union:C("mr-2 min-w-14",rl.field),intersection:C("mr-2 min-w-14",rl.filled)}),pS=Object.freeze({closed:C("ml-2 min-w-26",rl.field),open:C("ml-2 min-w-26",rl.filled)}),ML=Kc.length*Sa.maxValuesPerFacet,PL="relative min-w-0",kL="pointer-events-none absolute inset-y-0 right-0 grid grid-cols-[repeat(2,--spacing(6))] place-items-center",FL=C("pointer-events-auto col-start-2 row-start-1",it),HL="col-start-1 row-start-1 size-4 text-slate-500 motion-safe:animate-spin dark:text-slate-400",BL="sr-only",UL=C("col-[2/-1] row-start-2 pt-1 pl-[8px] text-xs leading-4",de,fr),VL=e=>e.authors.length+e.sourceTypes.length+e.customers.length,WL=(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):"",mS=({label:e,reserved:t})=>Ea(zL,{children:[yt("span",{className:LL,children:e}),yt("span",{"aria-hidden":"true","data-search-toggle-reserve":t,className:NL})]});function fS({labels:e,debounceMs:t,search:r,shownCount:n,onCommit:o,onCombineChange:a,onRelease:s,clearSignal:i,filters:l}){let[d,c]=cS(""),[u,m]=cS(!1),p=d.length>0||r.committed!==null&&!Zr(r.committed.text),f=ga(),y=ga(),S=tl(null),h=tl(null),D=tl(!1),g=tl(i),R=ga(),b=ga(),E=ga(),I=Xe(()=>({search:r,onCommit:o,onRelease:s}));IL(()=>{I.current={search:r,onCommit:o,onRelease:s}});let x=()=>{h.current!==null&&clearTimeout(h.current),h.current=null},P=(X,fe,De)=>{let N=I.current;Zr(X)?So(De)?N.search.committed!==null&&N.onRelease():N.onCommit("",fe,De):N.onCommit(X,fe,De)},O=X=>{x();let fe=I.current;P(X,fe.search.combine,fe.search.filters)},B=X=>{t===null||D.current||(x(),h.current=setTimeout(()=>O(X),t))},w=()=>{x(),c(""),So(r.filters)?s():(r.committed===null||!Zr(r.committed.text))&&o("",r.combine,r.filters),S.current?.focus()},_=X=>{c(X.target.value),B(X.target.value)},A=X=>{let fe=no(X);if(X.key==="Enter"&&!bn(fe)){X.preventDefault(),O(d);return}xb(fe)&&p&&(X.preventDefault(),w())},T=()=>{x();let X=r.combine==="union"?"intersection":"union";Zr(d)&&So(r.filters)?a(X):P(d,X,r.filters)},L=X=>{u||X.facets.load(),m(!u)},F=X=>{x(),P(d,r.combine,X)};dS(()=>{g.current!==i&&(g.current=i,h.current!==null&&clearTimeout(h.current),h.current=null,c(""))},[i]),dS(()=>()=>{h.current!==null&&clearTimeout(h.current)},[]);let U=r.combine==="intersection",j=WL(e,r,n),G=r.status==="failed"?r.failure:null,Q=l!==null&&u;return Ea("search",{"data-testid":"daily-report-search",className:Tu,children:[Ea("div",{className:wu,children:[yt("button",{type:"button","data-testid":"daily-report-search-combine","aria-describedby":R,title:U?e.searchCombineAndTitle:e.searchCombineOrTitle,onClick:T,className:OL[r.combine],children:yt(mS,{label:U?e.searchCombineAnd:e.searchCombineOr,reserved:U?e.searchCombineOr:e.searchCombineAnd})}),Ea("div",{className:PL,children:[yt("input",{ref:S,type:"text","data-testid":"daily-report-search-input","aria-label":e.searchInputLabel,"aria-describedby":G===null?b:`${E} ${b}`,"aria-invalid":G==="invalid"?!0:void 0,title:e.searchSyntaxHelp,placeholder:e.searchPlaceholder,value:d,onChange:_,onKeyDown:A,onCompositionStart:()=>{D.current=!0,x()},onCompositionEnd:X=>{D.current=!1,B(X.currentTarget.value)},className:_L}),Ea("div",{className:kL,children:[r.status==="searching"?yt(vL,{"aria-hidden":"true","data-testid":"daily-report-search-spinner",className:HL}):null,p?yt("button",{type:"button","data-testid":"daily-report-search-clear","aria-label":e.searchClear,title:e.searchClear,onClick:w,className:FL,children:yt(CL,{"aria-hidden":"true",className:"size-4"})}):null]})]}),l===null?null:yt("button",{type:"button",id:f,"data-testid":"daily-report-search-filters-toggle","aria-expanded":u,"aria-controls":Q?y:void 0,onClick:()=>L(l),className:u?pS.open:pS.closed,children:yt(mS,{label:e.searchFiltersToggle(VL(r.filters)),reserved:e.searchFiltersToggle(ML)})}),yt("span",{id:R,hidden:!0,children:U?e.searchCombineAndTitle:e.searchCombineOrTitle}),yt("span",{id:b,hidden:!0,children:e.searchSyntaxHelp}),yt("span",{"data-testid":"daily-report-search-status","aria-live":"polite",className:BL,children:j}),G===null?null:yt("p",{id:E,"data-testid":"daily-report-search-failure",className:UL,children:e.searchFailed(G)})]}),Q?yt(iS,{id:y,labelledBy:f,labels:e,locale:l.locale,renderFilterSelect:l.renderFilterSelect,facets:l.facets.state,value:r.filters,onChange:F,clearSignal:i}):null]})}var nl=new WeakMap,RS=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}},ol=(e,t)=>e.businessDate===t.businessDate&&e.sourceType===t.sourceType,KL=(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},$L=(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),!ol(i,s))return null;continue}if(!ol(s,yS(e,s.reportHubId))||r(s.reportHubId))return null;a-=1}for(let s of o.values()){if(!ol(s,yS(e,s.reportHubId))||r(s.reportHubId))return null;a+=1}return a},yS=(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},hS=(e,t,r,n)=>{if(e===null)return{items:t,hasAnswerOnlyItems:!1};let o=u=>e.ids.has(u),a=nl.get(e);if(a!==void 0&&a.isReportRemoved===r&&a.removedVersion===n){if(a.stream===t)return a.list;if(a.stream instanceof Tt&&t instanceof Tt){let u=$L(e,vm(a.stream,t,e.answeredByChunk,o),r,a.answerOnlyCount);if(u!==null){let m=a.list.hasAnswerOnlyItems===u>0?a.list:{items:a.list.items,hasAnswerOnlyItems:u>0};return nl.set(e,{...a,stream:t,list:m,answerOnlyCount:u}),m}}}let s=new Map;for(let u of xm(t,e.answeredByChunk,o))s.set(u.reportHubId,u);let i=[],l=0;for(let u of e.items){let m=s.get(u.reportHubId);m!==void 0?i.push(ol(m,u)?u:m):r(u.reportHubId)||(i.push(u),l+=1)}let d=l>0;if(a!==void 0&&a.list.hasAnswerOnlyItems===d&&KL(a.items,i))return nl.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 nl.set(e,{stream:t,isReportRemoved:r,removedVersion:n,items:i,list:c,answerOnlyCount:l}),c};var bS=(e,t,r)=>{let n=ke(t,0);if(n===void 0)return null;let o=rr(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=ke(e,o+s);if(i!==void 0&&a.has(i.reportHubId))return i.reportHubId;let l=ke(e,o-s);if(l!==void 0&&a.has(l.reportHubId))return l.reportHubId}}return n.reportHubId},Gc=(e,t,r,n)=>{if(r===null){let o=ke(t,0);return n&&o!==void 0?o.reportHubId:null}return rr(t,r)!==-1?r:bS(e,t,r)},SS=(e,t,r)=>e.selected===null?r!==null&&rr(t,r)!==-1?r:null:rr(t,e.selected)!==-1?e.selected:bS(e.items,t,e.selected);import{useEffect as ES,useLayoutEffect as ZL,useMemo as DS,useRef as TS,useSyncExternalStore as JL}from"react";var jL=1e3,GL=5e3,YL={combine:"union",committed:null,filters:$c,generation:0,status:"idle",failure:null,items:null,answered:null},qL=e=>e===400?"invalid":e===404?"unavailable":e===429?"busy":"failed",XL=(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))),Yc=(e,t)=>e.length===t.length&&e.every((r,n)=>r===t[n]),QL=(e,t)=>{let r=el(e),n=el(t);return Yc(r.authors,n.authors)&&Yc(r.sourceTypes,n.sourceTypes)&&Yc(r.customers,n.customers)},gS=e=>{let t=YL,r=new Set,n=null,o=null,a=null,s=null,i=null,l=null,d=b=>{t=b;for(let E of r)E()},c=()=>{s!==null&&clearTimeout(s),i!==null&&clearTimeout(i),s=null,i=null},u=(b,E)=>{let I=t.answered;return I!==null&&I.query.text===b.text&&I.query.combine===b.combine&&XL(I.words,E)?I:{query:{text:b.text,combine:b.combine},words:E}},m=b=>{let E=new URLSearchParams({[Ue.searchQuery]:b.text,[Ue.searchCombine]:b.combine});return nS(E,b.filters),`${e.apiBasePath}/${$e.search}?${E.toString()}`},p=(b,E,I,x)=>{if(!I){d({...t,status:"failed",failure:b});return}l!==x&&(l=x,i=setTimeout(()=>{i=null,y(E,!0)},GL))},f=async(b,E,I)=>{let x=new AbortController;n={controller:x};let P={Accept:"application/json"};I&&a!==null&&a.generation===E&&(P["If-None-Match"]=a.value);try{let O=await e.fetch(m(b),{headers:P,cache:"no-store",signal:x.signal});if(x.signal.aborted||E!==t.generation)return;if(O.status===304){t.status!=="done"&&d({...t,status:"done",failure:null});return}if(O.status===401||O.status===403){e.onSessionExpired(),p("failed",b,!1,E);return}if(!O.ok){p(qL(O.status),b,I,E);return}let B=Ip(await O.json(),!Zr(b.text));if(x.signal.aborted||E!==t.generation)return;if(B===null){p("failed",b,I,E);return}let w=O.headers.get("ETag");a=w===null?null:{generation:E,value:w},l=null,d({...t,status:"done",failure:null,items:B.items,answered:B.words.length===0?null:u(b,B.words)})}catch{if(x.signal.aborted||E!==t.generation)return;p("failed",b,I,E)}finally{if(n!==null&&n.controller===x&&(n=null),n===null&&o!==null){let O=o;o=null,y(O.query,O.background)}}},y=(b,E)=>{if(n!==null){o={query:b,background:(o===null||o.background)&&E};return}f(b,t.generation,E)};return{getSnapshot:()=>t,subscribe:b=>(r.add(b),()=>{r.delete(b)}),commit:(b,E,I)=>{if(Zr(b)&&So(I))throw new Error("[daily-report] search: a blank text can be committed only with a filter");let x=Ji(I);if(x!==null)throw new Error(`[daily-report] search: the filter selection cannot be sent (${x})`);c();let P=t.committed,O=P!==null&&P.text===b&&P.combine===E&&QL(P.filters,I),B={text:b,combine:E,filters:I};d({...t,combine:E,committed:B,filters:I,generation:O?t.generation:t.generation+1,status:"searching",failure:null}),y(B,!1)},setCombine:b=>{b!==t.combine&&d({...t,combine:b})},release:()=>{c(),n?.controller.abort(),n=null,o=null,t.committed!==null&&d({combine:t.combine,committed:null,filters:$c,generation:t.generation+1,status:"idle",failure:null,items:null,answered:null})},invalidate:()=>{let b=t.committed;b!==null&&(s!==null&&clearTimeout(s),s=setTimeout(()=>{s=null,y(b,!0)},jL))},dispose:()=>{c(),n?.controller.abort(),n=null,o=null}}};var wS=({apiBasePath:e,invalidation:t,onSessionExpired:r})=>{let n=TS(r);ZL(()=>{n.current=r});let o=DS(()=>gS({apiBasePath:e,onSessionExpired:()=>n.current(),fetch:(i,l)=>fetch(i,l)}),[e]);ES(()=>()=>o.dispose(),[o]);let a=TS(t);ES(()=>{a.current!==t&&(a.current=t,o.invalidate())},[t,o]);let s=JL(o.subscribe,o.getSnapshot,o.getSnapshot);return DS(()=>({...s,commit:o.commit,setCombine:o.setCombine,release:o.release}),[s,o])};import{useCallback as AS,useEffect as eN,useLayoutEffect as tN,useMemo as qc,useRef as rN,useState as nN}from"react";var xS=Object.freeze({status:"idle"}),oN=Object.freeze({status:"loading"}),aN=Object.freeze({sourceTypes:[],authors:[],customers:[]}),sN=e=>e===404?"unavailable":e===429?"busy":"failed",Xc=(e,t)=>e.length===t.length&&e.every((r,n)=>r===t[n]),iN=(e,t)=>Xc(e.sourceTypes,t.sourceTypes)&&Xc(e.authors,t.authors)&&Xc(e.customers,t.customers),lN=(e,t)=>"facets"in t?e.status!=="ready"||!iN(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},vS=(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})),dN=(e,t)=>e.map(r=>CS(r,t));function CS(e,t){let r=Sr(e,t);return{value:e,label:r===void 0?e:r.label}}var IS=({apiBasePath:e,locale:t,sourceTypeConfigs:r,onSessionExpired:n})=>{let[o,a]=nN({apiBasePath:e,load:xS}),s=o.apiBasePath===e?o.load:xS,i=rN(null),l=Xe(()=>({apiBasePath:e,onSessionExpired:n}));tN(()=>{l.current={apiBasePath:e,onSessionExpired:n}}),eN(()=>()=>{i.current?.abort(),i.current=null},[e]);let d=AS(()=>{if(i.current!==null)return;let f=new AbortController;i.current=f;let y=l.current.apiBasePath;a(h=>h.apiBasePath===y&&h.load.status==="ready"?h:{apiBasePath:y,load:oN}),(async()=>{let h;try{let D=await fetch(`${y}/${$e.searchFacets}`,{headers:{Accept:"application/json"},cache:"no-cache",signal:f.signal});if(f.signal.aborted)return;if(D.status===401||D.status===403)l.current.onSessionExpired(),h={failure:"failed"};else if(!D.ok)h={failure:sN(D.status)};else{let g=oS(await D.json());if(f.signal.aborted)return;h=g===null?{failure:"failed"}:{facets:g}}}catch{if(f.signal.aborted)return;h={failure:"failed"}}i.current=null,a(D=>({apiBasePath:y,load:lN(D.load,h)}))})()},[l]),c=s.status==="ready"?s.facets:aN,u=qc(()=>{let f=new Intl.Collator(t);return{authors:vS(c.authors,f),sourceTypes:dN(c.sourceTypes,r),customers:vS(c.customers,f)}},[c,t,r]),m=AS((f,y)=>f==="sourceType"?CS(y,r):{value:y,label:y},[r]),p=qc(()=>s.status==="ready"?{status:"ready",options:u,optionOf:m,reloadFailure:s.reloadFailure}:s,[s,u,m]);return qc(()=>({state:p,load:d}),[p,d])};import{useEffect as MS,useLayoutEffect as RN,useMemo as hN,useRef as bN}from"react";var cN=4294967295,_S=e=>typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=cN,uN=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)||!Mo(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},pN=e=>{if(!(br(e)&&_S(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=uN(e.ranges);return t===null?null:{fingerprint:e.fingerprint,ranges:t}},mN=e=>{if(!br(e))return null;let t={};for(let[r,n]of Object.entries(e)){if(!Gn(r))return null;let o=pN(n);if(o===null)return null;t[r]=o}return t},LS=(e,t)=>{if(!(br(e)&&_S(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(!br(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=mN(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 NS=2*Oo*hr.maxDetailIds,fN=240,yN=6e4,OS=({apiBasePath:e,fetch:t,answered:r,onSessionExpired:n})=>{let o=r.words.length,a=r.query.combine==="union"&&o>=2,s=mf(r.words),i=new Map,l=new Map,d=0,c=new Map,u=new Set,m=0,p=0,f=null,y=new Set,S=!1,h=A=>{let T=i.get(A);if(T!==void 0)return T;let L={entry:void 0,appliedSequence:0,settledEpoch:null,retriedEpoch:null,revalidated:new Set};return i.set(A,L),l.has(A)||(d+=1),L},D=A=>{for(let T of A){let L=i.get(T);L!==void 0&&(L.settledEpoch=null)}},g=()=>{if(!(d<=NS))for(let A of[...i.keys()]){if(d<=NS)return;l.has(A)||(i.delete(A),c.delete(A),d-=1)}},R=A=>{let T=l.get(A);if(T!==void 0)for(let L of[...T])L()},b=A=>{let T=new URLSearchParams({[Ue.searchQuery]:r.query.text,[Ue.searchCombine]:r.query.combine,[Ue.reportIds]:A.join(",")});return`${e}/${$e.searchMarks}?${T.toString()}`},E=(A,T)=>{for(let L of A){let F=h(L.reportHubId);F.appliedSequence>T||(F.appliedSequence=T,F.entry=L,i.delete(L.reportHubId),i.set(L.reportHubId,F),R(L.reportHubId))}g()},I=(A,T)=>{let L=[];for(let j of A){let G=i.get(j);G!==void 0&&G.retriedEpoch!==m&&L.push({id:j,record:G})}if(L.length===0)return;let U=setTimeout(()=>{u.delete(U);for(let{id:j,record:G}of L){let Q=c.get(j);Q===void 0||Q.timer!==U||(c.delete(j),l.has(j)?(G.retriedEpoch=m,_.enqueue(j)):G.settledEpoch=null)}},T);u.add(U);for(let{id:j,record:G}of L)c.set(j,{timer:U,record:G})},x=A=>{for(let T of A)l.has(T)?_.enqueue(T):D([T])},P=async(A,T)=>{p+=1;let L=p,F=m;for(let Q of A)h(Q).settledEpoch=m,c.delete(Q);g();let U;try{U=await t(b(A),{headers:{Accept:"application/json"},cache:"no-store",signal:T})}catch{return}if(U.status===401||U.status===403){n();return}if(U.status===429){let Q=Ga(U,yN);Q!==null&&F===m&&I(A,Q);return}if(!U.ok)return;let j;try{j=await U.json()}catch{return}let G=LS(j,{requestedIds:A,setCount:o,expectsMatchedSets:a});T.aborted||G===null||G.wordsDigest!==s||(E(G.reports,L),F===m&&x(G.deferred))},O=()=>{S=!0,queueMicrotask(()=>{S=!1}),f=setTimeout(B,fN)},B=()=>{if(f=null,y.size!==0){for(let A of y)_.enqueue(A);y.clear(),O()}},w=A=>{if(f!==null&&!S){y.add(A);return}_.enqueue(A),f===null&&O()},_=ja({hasListener:A=>l.has(A),batchSize:hr.maxDetailIds,inFlightBound:Oo,send:P});return{indicator:Object.freeze({setCount:o,showsMatchedSets:a}),subscribe:(A,T)=>{let L=l.get(A);L===void 0&&(L=new Set,l.set(A,L),i.has(A)&&(d-=1)),L.add(T);let F=i.get(A),U=F!==void 0&&F.settledEpoch===m;return L.size===1&&!U&&!_.isWanted(A)&&!y.has(A)&&w(A),()=>{let j=l.get(A);j===void 0||!j.delete(T)||j.size>0||(l.delete(A),i.has(A)&&(d+=1),y.delete(A),D(_.release(A)),g())}},read:A=>{let T=i.get(A);return T===void 0?void 0:T.entry},revalidate:(A,T,L)=>{let F=h(A),U=`${T}\0${L}`;F.revalidated.has(U)||(F.revalidated.add(U),y.delete(A),_.enqueue(A))},advanceEpoch:()=>{m+=1;for(let A of u)clearTimeout(A);u.clear(),c.clear(),y.clear();for(let A of l.keys())_.enqueue(A)},dispose:()=>{for(let T of u)clearTimeout(T);u.clear();let A=[...c.keys(),...y];c.clear(),y.clear(),f!==null&&clearTimeout(f),f=null,D([..._.dispose(),...A])}}};var PS=({apiBasePath:e,answered:t,shownRevision:r,onSessionExpired:n})=>{let o=bN(n);RN(()=>{o.current=n});let a=hN(()=>t===null?null:OS({apiBasePath:e,answered:t,onSessionExpired:()=>o.current(),fetch:(i,l)=>fetch(i,l)}),[e,t]);MS(()=>{if(a!==null)return()=>a.dispose()},[a]);let s=Xe(()=>({store:a,shownRevision:r}));return MS(()=>{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 SN}from"react";var kS=e=>{let t=e,r=e,n=new Set;return{get:()=>t,getSettled:()=>r,set:(o,a)=>{if(t=o,!(a==="held"||o===r)){r=o;for(let s of[...n])s()}},subscribe:o=>(n.add(o),()=>{n.delete(o)})}},Qc=e=>SN(e.subscribe,e.getSettled,e.getSettled);import*as Da from"@radix-ui/react-switch";import*as HS from"react";import{jsx as FS}from"react/jsx-runtime";var al=HS.forwardRef(({className:e,...t},r)=>FS(Da.Root,{className:C(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${yu} ${hu} ${le}`,e),...t,ref:r,children:FS(Da.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${Ru} ${bu}`})}));al.displayName=Da.Root.displayName;import{Fragment as GN,jsx as me,jsxs as Qt}from"react/jsx-runtime";var wN="list",AN=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},xN=()=>({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),vN=C(gu,Nu,"flex flex-wrap items-center gap-2"),CN=C("@container/views",Nt),IN=C("mt-0",Nt),_N=C("flex flex-1 items-center justify-center",vn),VS="relative h-4 w-4 p-0 after:absolute after:-inset-1",LN="flex items-center gap-2",NN=C(VS,"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"),ON=C(VS,"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"),MN=`cursor-pointer select-none ${de} text-xs`,PN=`hidden h-6 items-center gap-1 rounded-lg border border-amber-300/70 border-solid bg-amber-50/60 px-[3px] ${de} sm:flex dark:border-amber-700/50 dark:bg-amber-950/40`,kN="select-none font-bold font-mono text-amber-900 text-xs uppercase dark:text-amber-200",FN="flex h-6 items-center gap-1 rounded-lg bg-amber-800 px-2 font-medium text-white text-xs shadow-xs hover:bg-amber-900 dark:bg-amber-800 dark:hover:bg-amber-900",WS=(e,t)=>{let r=Vi(t);return[e.totalCount(r),e.searchHitCount(r)]},HN=({count:e})=>{let{labels:t}=q(),[r,n]=An(null),o=tS(e,r);return me(ca,{ref:n,text:t.totalCount(o),widestTexts:WS(t,Math.max(e,o))})},BN=({totalCount:e,hitCount:t})=>{let{labels:r}=q();return t!==null?me(ca,{text:r.searchHitCount(t),widestTexts:WS(r,e===Wr?t:Math.max(e,t))}):e===Wr?me("span",{children:r.totalCountLoading}):me(HN,{count:e})},UN=({checked:e,onCheckedChange:t})=>{let{labels:r}=q(),n=BS(),o=BS();return Qt("div",{className:"flex items-center gap-1 pl-1",children:[me(al,{id:n,checked:e,onCheckedChange:t,title:r.autoReadTitle,"aria-describedby":o}),me(la,{htmlFor:n,className:MN,children:r.autoRead}),me("span",{id:o,hidden:!0,children:r.autoReadTitle})]})},VN=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let s=Qc(e);return me(Vc,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:s,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},WN=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=Qc(e);return me(Ac,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},zN=({tabItems:e,actions:t,searchRow:r})=>{let[n,o]=An(wN),{labels:a}=q();return Qt(ma,{value:n,onValueChange:s=>o(AN(s)),className:CN,children:[Qt("div",{className:C(Du,Ou,Mu[n]),children:[Qt("div",{className:vN,children:[me(fa,{"aria-label":a.viewTabList,className:"flex flex-wrap gap-1",...cy,children:e.map(({value:s,label:i})=>me(ya,{value:s,children:i},s))}),t]}),r]}),e.map(({value:s,content:i})=>me(Ro,{value:s,tabStop:!1,className:IN,children:i},s))]})},KN=Object.freeze({items:null,generation:0,revision:0,change:"none",scrollRequest:null,restoreOnRelease:!0}),$N=(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}},jN=({answer:e,hasAnswerOnlyItems:t})=>{let{phase:r,isRevalidating:n}=Qn(),o=r==="complete"&&!n,a=go(null);return Zc(()=>{!(o&&t)||a.current===e||(a.current=e,Jo())},[o,t,e]),null},Jc=({userId:e})=>{let[t,r]=An(!1),{labels:n,renderHeader:o,showDevControls:a,apiBasePath:s,onSessionExpired:i,search:l,locale:d,sourceTypeConfigs:c}=q(),{toggleSse:u,createReport:m,refetchData:p,clearCacheAndRefetch:f}=lt(),{isSseEnabled:y,items:S,searchInvalidation:h,isReportRemoved:D,removedVersion:g}=ri(),[R]=TN(),b=wS({apiBasePath:s,invalidation:h,onSessionExpired:i}),E=IS({apiBasePath:s,locale:d,sourceTypeConfigs:c,onSessionExpired:i}),I=l===null||b.committed===null?null:b.items,[x,P]=An(KN);x.items!==I&&P($N(x,I,b.generation));let O=sl(()=>I===null?null:RS(I),[I]),B=sl(()=>hS(O,S,D,g),[O,S,D,g]),w=B.items,_=Vm(S.length,Vf()),A=I===null?_:w.length,[T,L]=An(0),[F]=An(()=>({preSearchTopReportId:null})),U=sl(()=>({request:x.scrollRequest,slot:F}),[x.scrollRequest,F]),j=PS({apiBasePath:s,answered:I===null?null:b.answered,shownRevision:x.revision,onSessionExpired:i}),G=go(0),Q=Xe(xN),[X]=An(()=>kS(Ql(w))),fe=go(null),De=go(w),N=go(x.revision);US(()=>{if(N.current===x.revision)return;N.current=x.revision;let te=De.current,Ee=X.get(),Te=Ee;x.change==="enter"?(fe.current={selected:Ee,items:te},Te=Gc(te,w,Ee,!0)):x.change==="start"||x.change==="update"?Te=Gc(te,w,Ee,x.change==="start"):x.change==="restore"&&fe.current!==null&&(Te=SS(fe.current,w,Ee)),(x.change==="restore"||x.change==="release")&&(fe.current=null),Te!==Ee&&X.set(Te,"settled")},[x,w,X]),US(()=>{De.current=w},[w]);let V=go(!1);Zc(()=>{let te=Ql(w);!V.current&&te!==null&&(V.current=!0,X.get()===null&&X.set(te,"settled"))},[w,X]);let K=async()=>{await p()},re=async()=>{await f()},he=async()=>{let Ee=R.get("businessDate")||qu();b.committed!==null&&(P(ie=>({...ie,restoreOnRelease:!1})),L(ie=>ie+1),b.release());let Te=await m(Ee);X.set(Te,"settled")};Zc(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let H=te=>{r(te),localStorage.setItem("daily-report-auto-read",String(te))},ee=sl(()=>[{value:"list",label:n.tabList,content:me(VN,{selectionStore:X,dailyReportItems:w,rowSetSize:A,autoMarkRead:t,userId:e,scrollOffsetRef:G})},{value:"tree",label:n.tabTree,content:me("div",{className:_N,children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:me(WN,{selectionStore:X,dailyReportItems:w,rowSetSize:A,userId:e,scrollRestoreRef:Q})}],[w,A,t,e,n,X,Q]);return Qt(GN,{children:[o({title:n.title,annotation:Qt("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[me(ua,{}),me(BN,{totalCount:_,hitCount:I===null?null:A}),me("span",{children:n.debounce(Mn)})]})}),me("div",{className:La,children:Qt("div",{className:Na,children:[I!==null&&me(jN,{answer:I,hasAnswerOnlyItems:B.hasAnswerOnlyItems}),me(kn.Provider,{value:I===null?"date":"ids",children:me(pt.Provider,{value:j,children:me(ld.Provider,{value:U,children:me(zN,{tabItems:ee,searchRow:l===null?null:me(fS,{labels:n,debounceMs:l.debounceMs,search:b,shownCount:I===null?null:A,onCommit:b.commit,onCombineChange:b.setCombine,onRelease:b.release,clearSignal:T,filters:l.renderFilterSelect===null?null:{renderFilterSelect:l.renderFilterSelect,locale:d,facets:E}}),actions:Qt("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[Qt(xr,{size:"sm",onClick:he,className:FN,title:n.createReportTitle,children:[me(gN,{className:"h-3 w-3"}),me("span",{children:n.createReport})]}),a&&Qt("div",{className:PN,title:n.devControls,"data-testid":"dev-controls-toolbox",children:[me("span",{className:kN,children:"dev"}),me(al,{"aria-label":n.devSseToggle,title:n.devSseToggle,checked:y,onCheckedChange:u}),Qt("div",{className:LN,"data-testid":"dev-icon-buttons",children:[me(xr,{variant:"ghost",size:"icon",onClick:K,className:NN,title:n.devReload,"data-testid":"dev-reload-btn",children:me(DN,{className:"size-3"})}),me(xr,{variant:"ghost",size:"icon",onClick:re,className:ON,title:n.devClearCache,"data-testid":"dev-clear-cache-btn",children:me(EN,{className:"size-3"})})]})]}),me(UN,{checked:t,onCheckedChange:H})]})})})})})]})})]})};import{Fragment as KS,jsx as We,jsxs as il}from"react/jsx-runtime";var QN=C(Nt,Fr),ZN=C("flex min-h-0 flex-1 flex-col items-center justify-center gap-4",de,Lt,le),JN=C("font-bold",Eo),eO=C("font-medium",Eo),tO=C("rounded bg-slate-100 px-4 py-2 text-slate-700 text-sm hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-200 dark:hover:bg-slate-700",le),rO=({isFailed:e,handOver:t})=>{let{labels:r,renderHeader:n}=q(),o=$S(null),a=YN(i=>(o.current=i,t.take()&&on(i)&&Ar([i]),()=>{o.current=null,i.contains(tt(i))&&t.request()}),[t]),s=()=>{Ar([o.current]),Us()};return il(KS,{children:[n({title:r.title,annotation:e?We("span",{className:JN,children:r.loadErrorBadge}):il("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[We(ua,{}),We("span",{children:r.totalCountLoading}),We("span",{children:r.debounce(Mn)})]})}),We("div",{className:La,children:We("div",{className:Na,children:We("div",{className:QN,children:We("div",{ref:a,tabIndex:-1,...py,"data-testid":"daily-report-status-panel","data-phase":e?"failed":"loading",className:C(ZN,e&&"border-red-200 dark:border-red-900"),children:e?il(KS,{children:[We("p",{className:eO,children:r.loadError}),We("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:s,className:tO,children:r.reload})]}):We("p",{children:r.loadingIds})})})})})]})},nO=()=>{let{labels:e}=q(),t=Bf();return We(Wi,{announcement:_c(t,e),testId:"daily-report-stream-announcer"})},oO=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=q(),o=Qn(),[a]=XN(Qh),s=$S(n);qN(()=>{s.current=n}),zS(()=>{Qo({apiBasePath:r,userKey:t??null})},[r,t]),zS(()=>{o.phase==="auth-required"&&s.current()},[o.phase]);let i=o.hasItems||o.phase==="complete";return il(Nd,{children:[We(nO,{}),We(Ic.Provider,{value:!1,children:We(Ec.Provider,{value:a,children:We(kd,{user:e,userId:t,children:i?We(Jc,{userId:t}):We(rO,{isFailed:o.phase==="failed",handOver:a})},t??"anonymous")})})]})},aO=({config:e,...t})=>We(Cl,{config:e,children:We(oO,{...t})});import{createShouldRevalidate as sO}from"@aiquants/route-revalidation";var iO=ff.filter(e=>e!=="clearCache"),lO=sO({skipIntents:{field:bt.intent,values:iO},hashChange:"default",unchangedUrl:"skip"}),dO=e=>{let t=async r=>{gd();let n=await r.serverLoader(),o=n.userId;return Sd({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};export{Bp as DAILY_REPORT_LABEL_CATALOGS,Tl as DAILY_REPORT_LABEL_KEYS,wa as DAILY_REPORT_LATTICE_BLOCK_QUANTUM_CLASS_NAME,DE as DAILY_REPORT_LAYOUT_LATTICE_PX,Kc as DAILY_REPORT_SEARCH_FILTER_FACETS,kd as DailyReportActionProvider,Do as DailyReportAttachmentIndicator,Cl as DailyReportConfigProvider,Ac as DailyReportDetailList,Nd as DailyReportErrorProvider,ua as DailyReportIdsStreamStatus,gc as DailyReportInstrumentationContext,Vc as DailyReportList,aO as DailyReportPage,Jc as DailyReportResolvedContent,Sd as bootstrapDailyReportIdsStreamSession,dO as createDailyReportClientLoader,lO as dailyReportShouldRevalidate,ko as defaultDailyReportClientConfig,Qo as ensureDailyReportIdsStreamSession,QD as foldDailyReportSourceTypeToken,gd as primeDailyReportIdsStreamSession,Of as readDailyReportIdsStreamRows,xl as resolveDailyReportLabels,Sr as resolveSourceTypeConfig,Vs as resyncDailyReportIdsStream,xw as useDailyReportActionContext,nc as useDailyReportComments,q as useDailyReportConfig,Bl as useDailyReportDetail,HT as useDailyReportIdsStream,Ul as useDailyReportPrefetch,vd as useDailyReportSseConnection};
|
|
1
|
+
import cg from"lucide-react/dist/esm/icons/paperclip.js";var sg="data-daily-report-row-surface",Nt={[sg]:"",role:"gridcell"},uu="data-daily-report-active",kr="data-daily-report-scrolling",pr=8,ig=4,pu=pr-ig;var Ca="[--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]",Fr=`${Ca} h-[calc-size(auto,round(up,size,var(--aqdr-lattice-block)))]`,Hr="p-[8px]",mu="pr-[8px]",Ia="contain-size contain-layout contain-style",fu="contain-strict",er="pointer-events-none absolute size-px whitespace-nowrap opacity-0 select-none contain-layout",ce="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400";var hl="[--aqdr-text-quiet:oklch(44%_0.046_257.417)] dark:[--aqdr-text-quiet:oklch(77%_0.040_256.788)]",ue=`${hl} text-(--aqdr-text-quiet)`,mr=`border-slate-500 dark:border-slate-500 ${hl} placeholder:text-(--aqdr-text-quiet)`,yu="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",bl="scrollbar-thin [scrollbar-gutter:stable]",Sl=`-m-[4px] overflow-hidden p-[4px] ${bl}`,Ru="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",_a="rounded-[calc(var(--radius-2xl)+8px)]",La="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]",hu="[: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",Ot="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",Na=16,In=`rounded-xl border border-dashed border-slate-300 bg-slate-50 p-[11px] ${ue} text-sm dark:border-slate-600 dark:bg-slate-900/40`,bu=12,Oa="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200";var Su="min-h-24",gu="flex h-6 items-center",Ma="[--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",dt=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${ce}`,Eu="-mx-1",Du="flex items-center gap-1",Je="inline-flex h-6 items-center rounded-full px-3",wu="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",Tu=`${Je} shrink-0 whitespace-nowrap bg-blue-50 font-semibold text-blue-800 text-xs dark:bg-blue-500/15 dark:text-blue-200 forced-colors:border forced-colors:border-solid forced-colors:border-[CanvasText] forced-colors:text-[CanvasText]`,Au="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",Pr="size-4",et={starOff:`${Pr} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${Pr} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${Pr} text-blue-600 dark:text-blue-400 forced-colors:text-[CanvasText]`,delete:`${Pr} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400 forced-colors:text-[CanvasText]`,deletePending:`${Pr} text-red-600 dark:text-red-400 forced-colors:text-[CanvasText]`,edit:`${Pr} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`},vu="h-6 w-10 border-4 border-solid",xu="size-4 data-[state=checked]:translate-x-4",Cu="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]",Iu="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var _u="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",Lu="rounded-xl border border-solid p-[3px]",Nu=`relative inline-flex h-6 items-center justify-center whitespace-nowrap rounded-lg px-2 font-medium ${ue} text-xs 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`,lg="supports-[margin-left:round(down,1px,1px)]:ml-[max(0px,round(down,calc((100%-72rem)/2),var(--aqdr-lattice-block)))]",dg="bg-slate-50 dark:bg-slate-950",Mt="flex min-h-0 flex-1 flex-col",Pa=`${Mt} ${dg}`,ka=`${Mt} mx-auto w-full max-w-6xl ${Ca} px-[var(--aqdr-lattice-block)] pt-[var(--aqdr-lattice-block)] ${lg}`,Ou=`relative z-[1] flex shrink-0 flex-col ${Fr}`,Mu="flex grow flex-col justify-between",Pu="grid min-w-0 grid-cols-[max-content_minmax(0,1fr)_max-content] grid-rows-[minmax(2rem,auto)_auto] items-end",ku="grid min-w-0 grid-cols-1 gap-2 sm:grid-cols-[minmax(0,2fr)_minmax(0,1fr)_minmax(0,3fr)]",Fu="m-0 min-w-0 border-0 p-0",Hu="mb-1 p-0 text-slate-700 text-xs leading-4 dark:text-slate-200",Bu="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-900 dark:text-yellow-50 forced-colors:forced-color-adjust-none forced-colors:bg-[Mark] forced-colors:text-[MarkText]",To="text-red-800 dark:text-red-300",Uu="bg-white dark:bg-slate-900",Fa=`min-h-0 flex-1 overflow-clip contain-size ${Ca}`,Ha="flex h-full flex-col contain-size contain-layout contain-style",Vu="relative inline-block whitespace-nowrap tabular-nums",Ba="invisible grid",tn="col-start-1 row-start-1",Wu="absolute inset-0 contain-size contain-layout contain-style",Ua=`[&_.aqvs-no-items-text]:py-4 ${hl} [&_.aqvs-no-items-text]:text-(--aqdr-text-quiet)`,zu="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",Ku="ml-[8px]",$u={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},rn=`font-semibold ${ue} text-xs uppercase tracking-wide`,fr=`m-0 ${rn}`,yr="text-balance wrap-anywhere [word-break:auto-phrase]",ju="[--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)]",Va=`${ju} [&_.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]`,Wa="[--aqvs-focus-ring-color:var(--color-blue-600)] dark:[--aqvs-focus-ring-color:var(--color-blue-400)]",Gu=`${ju} [scrollbar-color:var(--aqdr-scroll-bar-thumb)_var(--aqdr-scroll-bar-track)]`;import{jsx as Yu,jsxs as mg}from"react/jsx-runtime";var ug=2,pg=`inline-flex h-6 shrink-0 items-center gap-1 ${ue}`,gl=(e,t)=>`${e}: ${t}`,El=e=>e>=ug?String(e):null,Ao=({id:e,count:t,label:r})=>{if(t<=0)return null;let n=gl(r,t),o=El(t);return mg("span",{id:e,className:pg,title:n,role:"img","aria-label":n,"data-testid":"daily-report-attachment-indicator","data-attachment-count":t,children:[Yu(cg,{className:Pr,"aria-hidden":"true"}),o!==null&&Yu("span",{className:"font-semibold text-xs leading-4",children:o})]})};import{useCallback as qe,useEffect as Tn,useLayoutEffect as Tb,useMemo as Lc,useRef as Dt,useState as An}from"react";var nn=Object.freeze({text:"",runs:Object.freeze([])}),Pt=e=>e.length===0?nn:{text:e,runs:[{displayStart:0,displayEnd:e.length,sourceStart:0,sourceEnd:e.length}]},qu=(e,t,r)=>t>=r?nn:{text:e.slice(t,r),runs:[{displayStart:0,displayEnd:r-t,sourceStart:t,sourceEnd:r}]},Dl=(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}))},wl=e=>e.displayEnd-e.displayStart===e.sourceEnd-e.sourceStart,vo=(e,t,r)=>{if(t>=r)return nn;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(wl(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(...Dl(a-t,s-t,o.sourceStart,o.sourceEnd))}return{text:e.text.slice(t,r),runs:n}},_n=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?nn:{text:t,runs:r}},Tl=e=>{let t=e.text.trimEnd().length,r=Math.min(t,e.text.length-e.text.trimStart().length);return vo(e,r,t)},Br=e=>typeof e=="string"?Tl(Pt(e)):nn,za=(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 y=s;y<e.runs.length&&e.runs[y].displayStart<c;y++){let m=e.runs[y],p=Math.max(m.displayStart,d),f=Math.min(m.displayEnd,c);if(!(p>=f))if(wl(m)){let b=m.sourceStart+(p-m.displayStart);a.push({displayStart:p+u,displayEnd:f+u,sourceStart:b,sourceEnd:b+(f-p)})}else a.push(...Dl(p+u,f+u,m.sourceStart,m.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?nn:{text:o,runs:a}},fg=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},yg=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},Xu=e=>{let t=e.normalize("NFC");if(t===e)return Pt(e);let r=fg(e),n=r.map(s=>s.shown).join("")===t?r:yg(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(...Dl(a,d,s,i)),a=d}return{text:t,runs:o}},Qu=(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(wl(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},Zu=String.raw`<br\s*\/?\s*>`,Ju=String.raw`<\/p>`,ep="<[^>]+>",Rg=new RegExp(String.raw`(${Zu}|${Ju}|\r?\n)|${ep}`,"gi"),tp=new RegExp(Zu,"gi"),hg=new RegExp(Ju,"gi"),bg=new RegExp(ep,"g"),rp=(e,t)=>{if(!e)return[];let r=[],n=[],o=0,a=()=>{let s=_n(n);n=[];let i=Tl({text:s.text.replace(/ /g," "),runs:s.runs});i.text.length>0&&r.push(i)};for(let s of e.matchAll(Rg))if(n.push(qu(e,o,s.index)),o=s.index+s[0].length,s[1]!==void 0&&(a(),r.length===t))return r;return n.push(qu(e,o,e.length)),a(),r},np=e=>za(za(za(Pt(e),tp,`
|
|
2
|
+
`),hg,`
|
|
3
|
+
`),bg,""),op=e=>e?Tl(za(Pt(e),tp,`
|
|
4
|
+
`)):nn;var Sg=Object.freeze({text:"-",runs:Object.freeze([])}),$e=e=>{let t=Br(e);return t.text===""?Sg:t},Ur=e=>$e(e).text,Ne=e=>{if(!e)return"-";if(typeof e!="string")return e instanceof Date?Ne(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 HE,useCallback as BE,useContext as Rm,useEffect as UE,useState as VE}from"react";import{z as Vl}from"zod/v3";var gg=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var Ka=e=>e<10?`0${e}`:`${e}`,Eg=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=Ka(e.getMonth()+1),n=Ka(e.getDate());return`${t}-${r}-${n}`},ap=e=>{let t=gg.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}`},xo=e=>ap(e)===e,sp=(e=new Date)=>{if(Number.isNaN(e.getTime()))throw new Error("[daily-report] resolveTodayBusinessDateKey needs a valid Date");return`${e.getFullYear()}-${Ka(e.getMonth()+1)}-${Ka(e.getDate())}`},Co=e=>e==null?null:e instanceof Date?Eg(e):ap(e);import{z as Dg}from"zod/v3";var kt=e=>Number.isSafeInteger(e)&&e>0,Xe=Dg.number().int().positive().max(Number.MAX_SAFE_INTEGER);import{z as Ee}from"zod/v3";var $a=/^(?:[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 Io=/^[0-9a-f]{64}$/u,ip=e=>e.isRead?{isRead:!0,readContentDigest:e.contentDigest}:{isRead:!1,readContentDigest:null},Ln=(e,t)=>e==="read"?{isRead:!1}:{isRead:!0,contentDigest:t},lp=e=>typeof e=="string"&&Io.test(e),Rr=(e,t)=>e.isRead?e.readContentDigest===null||e.readContentDigest===e.contentDigest||typeof t=="string"&&t!==""&&e.userId===t?"read":"updatedSinceRead":"unread";var on=Symbol("daily-report wire mismatch"),Ft=(e,t,r)=>(e.issues.push({...r,path:t===null?[...e.path]:[...e.path,t]}),on),pp=e=>e===null?"null":Array.isArray(e)?"array":Number.isNaN(e)?"nan":typeof e,Vr=(e,t)=>({code:"invalid_type",expected:e,received:pp(t)}),wg=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Tg=e=>{let t=0;for(let r in e)t+=1;return t},dp=(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},Nn=e=>{let t=Object.keys(e),r=Object.values(e);return(n,o)=>{if(!wg(n))return Ft(o,null,Vr("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 u=r[l](c,o,d);if(u===on){s=!0;continue}a===null&&u!==c&&(a=dp(n,t,l)),a!==null&&(u!==void 0||d in n)&&(a[d]=u)}return s?on:a!==null?a:Tg(n)===i?n:dp(n,t,t.length)}},_o=e=>(t,r,n)=>{r.path.push(n);let o=e(t,r);return r.path.pop(),o},Lo=e=>(t,r,n)=>{if(!Array.isArray(t))return Ft(r,n,Vr("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===on?a=!0:l!==i&&(o===t&&(o=t.slice()),o[s]=l)}return r.path.pop(),a?on:o},xe=(e,t,r)=>e==null||typeof e=="string"?e:Ft(t,r,Vr("string",e)),cp=(e,t,r)=>e===null||typeof e=="string"?e:Ft(t,r,Vr("string",e)),up=(e,t,r)=>typeof e=="string"?e:Ft(t,r,Vr("string",e)),Ag=(e,t,r)=>e===null||typeof e=="number"&&!Number.isNaN(e)?e:Ft(t,r,Vr("number",e)),No=(e,t,r)=>typeof e=="boolean"?e:Ft(t,r,Vr("boolean",e)),mp=(e,t,r)=>typeof e!="string"?Ft(t,r,Vr("string",e)):lp(e)?e:Ft(t,r,{code:"invalid_string",validation:"regex",message:"a content digest is 64 lowercase hex digits"}),vg=(e,t,r)=>e===null?null:mp(e,t,r),Al=(e,t,r)=>{if(typeof e=="number"&&kt(e))return e;for(let{message:n,path:o,...a}of Xe.safeParse(e).error.issues)Ft(t,r,a);return on},fp={present:!0,absent:!0,unknown:!0},yp=Object.keys(fp),xg=yp.map(e=>`'${e}'`).join(" | "),Cg=(e,t,r)=>typeof e!="string"?Ft(t,r,{code:"invalid_type",expected:xg,received:pp(e)}):Object.hasOwn(fp,e)?e:Ft(t,r,{code:"invalid_enum_value",received:e,options:[...yp]}),Rp=Nn({name:xe,affiliation:xe}),hp=Nn({name:xe,text:xe,color:xe}),bp=Nn({id:Al,name:xe,color:xe}),Sp=Nn({id:Al,userId:xe,userName:xe,content:xe,createdAt:xe,isMine:No}),Ig=Nn({id:up,fileName:up,fileType:cp,fileSize:Ag,createdAt:cp,state:Cg,hasThumbnail:No}),_g=Nn({reportHubId:Al,date:xe,createdAt:xe,author:xe,userId:xe,sourceType:xe,employeeName:xe,updatedBy:xe,updatedAt:xe,category:xe,creationCategory:xe,visitTimeFrom:xe,visitTimeTo:xe,customerName:xe,interviewers:Lo(_o(Rp)),subject:xe,content:xe,externalComments:Lo(_o(hp)),isRead:No,isStarred:No,contentDigest:mp,readContentDigest:vg,isDraft:No,labels:Lo(_o(bp)),postedComments:Lo(_o(Sp)),attachments:Lo(_o(Ig))}),Oo=(e,t)=>{let r={path:[],issues:[]},n=e(t,r);return n===on?{ok:!1,issues:r.issues}:{ok:!0,value:n}},gp=e=>Oo(_g,e),Ep=e=>Oo(Rp,e),Dp=e=>Oo(hp,e),wp=e=>Oo(bp,e),Tp=e=>Oo(Sp,e);var Ap=["auth-required","forbidden","resync-required"],vl=15e3,vp="lastEventId",Lg=/^\d{1,15}-\d{1,15}$/,ja=e=>Lg.test(e);var Mo=e=>Ee.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 Ee.NEVER}),WO=Mo(Ep),zO=Mo(Dp),KO=Mo(wp),xl=Mo(Tp),hr=Mo(gp),Po=Ee.string().regex($a),xp=Ee.object({type:Ee.literal("connected")}),Cp=Ee.object({type:Ee.literal("status-update"),reportHubId:Xe,statusType:Ee.enum(["star","read"]),value:Ee.boolean(),readContentDigest:Ee.string().regex(Io).nullable(),clientTempId:Po}),Cl=Ee.string(),Ip=Ee.object({type:Ee.literal("comment-add"),reportHubId:Xe,comment:xl,clientTempId:Po,sourceType:Cl}),_p=Ee.object({type:Ee.literal("comment-delete"),reportHubId:Xe,commentId:Xe,clientTempId:Po,sourceType:Cl}),Ga={recipientRawUserId:Xe.optional()},Ng=Cp.extend(Ga),Og=Ip.extend(Ga),Mg=_p.extend(Ga),On={reportHubId:Xe,report:hr,clientTempId:Po},Il={...Ga,actorRawUserId:Xe},_l={viewerIsActor:Ee.boolean()},Pg=Ee.object({type:Ee.literal("report-create"),...On,..._l}),kg=Ee.object({type:Ee.literal("report-update"),...On,..._l}),Fg=Ee.object({type:Ee.literal("report-publish"),...On,..._l}),Hg=Ee.object({type:Ee.literal("report-create"),...On,...Il}),Bg=Ee.object({type:Ee.literal("report-update"),...On,...Il}),Ug=Ee.object({type:Ee.literal("report-publish"),...On,...Il}),Lp=Ee.object({type:Ee.literal("report-delete"),reportHubId:Xe,clientTempId:Po,sourceType:Cl}),Np=Ee.discriminatedUnion("type",[xp,Cp,Ip,_p,Pg,kg,Fg,Lp]),$O=Ee.discriminatedUnion("type",[xp,Ng,Og,Mg,Hg,Bg,Ug,Lp]);var Ya="ids-columns",Ll=e=>{if(typeof e!="object"||e===null)return"unknown";let{kind:t}=e;return t==="chunk"?"chunk":t==="error"?"error":"unknown"},Vg=e=>typeof e=="number"&&kt(e),Wg=e=>{if(typeof e!="object"||e===null)return!1;let{businessDate:t,reportHubId:r}=e;return(t===null||typeof t=="string")&&typeof r=="number"},zg=4,Kg=e=>{let t=zg;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}}},$g=/^[0-9a-f]{1,16}$/,jg=e=>kt(e.reportHubId)&&(e.businessDate===null||xo(e.businessDate)),Gg=e=>typeof e=="string"&&$g.test(e),Yg=Object.freeze({kind:"absent"}),qg=Object.freeze({kind:"value",value:null}),Xg=e=>e===void 0?Yg:e===null?qg:typeof e=="string"&&ja(e)?{kind:"value",value:e}:{kind:"malformed",received:e},Op=e=>{if(Ll(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:u,streamAnchor:y}=e;if(typeof s!="boolean"||!(i===null||Wg(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 h of o)if(!(h===null||typeof h=="string"))return null;let m=Kg(t.length),p=0,f=null,b=0;for(let h=0;h<r.length;h++){let D=r[h],g=n[h];if(!(D===null||typeof D=="string"&&xo(D))||h>0&&D===r[h-1]||typeof g!="number"||!Number.isSafeInteger(g)||g<1)return null;let R=p+g;if(R>t.length)return null;for(;p<R;p++){let S=t[p],E=a[p];if(!(Vg(S)&&m(S))||typeof E!="number"||!Number.isSafeInteger(E)||E<0||E>=o.length||p>0&&!Qg(f,b,D,S))return null;f=D,b=S}}return p!==t.length?null:{rows:e,isLast:s,resumeCursor:i!==null&&jg(i)?i:null,total:typeof l=="number"&&Number.isSafeInteger(l)&&l>=0?l:null,snapshot:Gg(d)?d:null,provisional:c===!0,restarted:u===!0,streamAnchor:Xg(y)}},Mp=(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 Pp=(e,t,r,n)=>e!==r?e===null?1:r===null||e>r?-1:1:n-t,Qg=(e,t,r,n)=>Pp(e,t,r,n)<0,kp=(e,t)=>Pp(e.businessDate,e.reportHubId,t.businessDate,t.reportHubId);var je=Object.freeze({businessDate:"business-date",idsStream:Ya,report:"report",search:"search",reports:"reports",searchMarks:"search-marks",searchFacets:"search-facets",action:"action"}),Ue=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 Fp=(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)}}},JO=Object.freeze(["API","Action","Attachment","ExternalSource","Isolation","Reads","Refresh","Search","SSE","SseReader","Server","Service","Streams","Visibility","ActionProvider","DetailLoader","IdsStream","SseConnection","SessionGate"]),Hp=e=>`[DailyReport${e}]`,bt=(e,t,r)=>e===void 0?Fp(t,Hp(r)):Fp(0,Hp(r),e);import{z as Ht}from"zod/v3";var Zg=Ht.discriminatedUnion("outcome",[Ht.object({reportHubId:Xe,outcome:Ht.literal("ok"),report:hr}).strict(),Ht.object({reportHubId:Xe,outcome:Ht.literal("not_found")}).strict(),Ht.object({reportHubId:Xe,outcome:Ht.literal("failed")}).strict()]),Bp=e=>Ht.object({outcomes:Ht.array(Zg)}).strict().superRefine(({outcomes:t},r)=>{t.length!==e.length&&r.addIssue({code:Ht.ZodIssueCode.custom,path:["outcomes"],message:"must hold one outcome per requested id"}),t.forEach((n,o)=>{n.reportHubId!==e[o]&&r.addIssue({code:Ht.ZodIssueCode.custom,path:["outcomes",o,"reportHubId"],message:"must be the requested id at this position"}),n.outcome==="ok"&&n.report.reportHubId!==n.reportHubId&&r.addIssue({code:Ht.ZodIssueCode.custom,path:["outcomes",o,"report","reportHubId"],message:"must be the outcome's id"})})});var br=Object.freeze({maxQueryLength:500,maxSets:16,maxWordsPerSet:16,maxWords:32,maxWordLength:100,maxDetailIds:100}),Jg=2,ko=2,Mn=Object.freeze({word:0,reading:1}),Fo=e=>e===Mn.word||e===Mn.reading;var Sr=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},eE=2*(1+Jg),tE=e=>{if(!Array.isArray(e)||e.length===0||e.length>eE)return null;let t=[],r=new Set;for(let n of e){if(!Sr(n))return null;let{text:o,tier:a}=n;if(typeof o!="string"||o.length===0||o.length>br.maxWordLength||r.has(o)||!Fo(a)||(t.length===0?a!==Mn.word:a<t[t.length-1].tier))return null;r.add(o),t.push({text:o,tier:a})}return t},rE=(e,t)=>{if(!Array.isArray(e))return null;if(!t)return e.length===0?[]:null;if(e.length===0||e.length>br.maxSets)return null;let r=[],n=0;for(let o of e){if(!Array.isArray(o)||o.length===0||o.length>br.maxWordsPerSet||(n+=o.length,n>br.maxWords))return null;let a=[];for(let s of o){let i=tE(s);if(i===null)return null;a.push(i)}r.push(a)}return r},Up=(e,t)=>{if(!Sr(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=rE(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"||!kt(l)||d!==null&&(typeof d!="string"||!xo(d))||typeof c!="string"||c.length===0)return null;s.push({reportHubId:l,businessDate:d,sourceType:c})}return{items:s,words:a}};var qa=e=>e.issues.map(t=>`${t.path.length===0?"(root)":t.path.join(".")}: ${t.code}`).join("; ");var nE=e=>typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"||e===null||e===void 0?String(e):Array.isArray(e)?"array":typeof e,Me=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${nE(r)}`),Xa=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),Ho=(e,t,r)=>Me(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t),tt=(e,t,r,n)=>{if(typeof t=="number"&&Number.isSafeInteger(t)&&t>=r&&(n===void 0||t<=n))return t;throw Me(e,n===void 0?`an integer >= ${r}`:`an integer from ${r} to ${n}`,t)};var Qa=({hasListener:e,batchSize:t,inFlightBound:r,send:n})=>{tt("createIdBatchScheduler: batchSize",t,1),tt("createIdBatchScheduler: inFlightBound",r,1);let o=new Set,a=new Map,s=!1,i=()=>{let c=[],u=[...o];for(let y=u.length-1;y>=0&&c.length<t;y--){let m=u[y];o.delete(m),e(m)&&c.push(m)}return c.reverse()},l=c=>{let u=new AbortController;a.set(u,c);let y=()=>{a.delete(u),d()},m=p=>{y(),u.signal.aborted&&p===u.signal.reason||globalThis.reportError(p)};n(c,u.signal).then(y,m)},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[y,m]of a)y.signal.aborted||!m.includes(c)||m.some(e)||(y.abort(),u.push(...m));return u},dispose:()=>{let c=[...o];o.clear();for(let[u,y]of a)u.signal.aborted||(u.abort(),c.push(...y));return c}}};var oE=/^[1-9][0-9]*$/,aE=/^(?:0|[1-9][0-9]*)$/,Vp=e=>{if(e===null||!oE.test(e))return null;let t=Number(e);return kt(t)?t:null},Pn=e=>{if(e===null||!aE.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null};var sE=2**31-1,Za=(e,t)=>{let r=tt("holdDelayMsOf: maxDelayMs",t,0,sE),n=Pn(e.headers.get("Retry-After"));if(n===null)return null;let o=n*1e3;return o<=r?o:null};var Wp={request:e=>requestAnimationFrame(e),cancel:e=>cancelAnimationFrame(e)},zp=({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 bE}from"@aiquants/virtualscroll";import{createContext as SE,useMemo as gE}from"react";import{useContext as iE}from"react";var Yt=(e,t,r)=>{let n=iE(e);if(n===null)throw new Error(`[daily-report] ${t} must be used within a ${r}`);return n};import{resolveVirtualScrollLabels as lE,resolveVirtualScrollLocale as dE,VIRTUAL_SCROLL_LABEL_CATALOGS as Kp,VIRTUAL_SCROLL_LABEL_KEYS as Ml}from"@aiquants/virtualscroll";var qp=["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","liveUpdatesRefused","streamRetry","streamRevalidating","selectPrompt","loading","reportNotFound","contentEmpty","contentEmptyPreview","confirmDelete","starAdd","starRemove","markRead","markUnread","markUpdateRead","updatedSinceRead","deleteReport","edit","resizeHandle","resizeHandleHint","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"],Xp=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","operationRefused","noticeRepeated","rowState","rowEditingState","listRowPosition","listRowPositionInUnknownTotal","searchHitCount","searchFailed","searchMatchedKeywords","searchMatchedKeywordsDescription","searchFieldMatched","searchFieldMatchedByReading","searchFiltersToggle","searchFiltersFailed"],Nl=[...Ml,...qp,...Xp];var $p=Object.freeze({en:"en-US",ja:"ja-JP"}),cE=Object.freeze({en:new Intl.NumberFormat($p.en),ja:new Intl.NumberFormat($p.ja)}),Ce=(e,t)=>cE[e].format(t),jp=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"}),Gp=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"}),uE=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",refused:"\u691C\u7D22\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093"}),pE=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",refused:"You are not allowed to search"}),mE=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",refused:"\u7D5E\u308A\u8FBC\u307F\u306E\u5019\u88DC\u3092\u8AAD\u3080\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093"}),fE=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",refused:"You are not allowed to load the filter options"}),yE={unread:"Unread",read:"Read",updatedSinceRead:"Read, updated since"},RE={unread:"\u672A\u8AAD",read:"\u65E2\u8AAD",updatedSinceRead:"\u65E2\u8AAD\u5F8C\u306B\u66F4\u65B0\u3042\u308A"},Ol=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",liveUpdatesRefused:"Live updates stopped: you are not allowed to receive them. Reload the page to see later changes.",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",markUpdateRead:"Mark the update as read",updatedSinceRead:"Updated",deleteReport:"Delete",edit:"Edit",resizeHandle:"Resize the border between the report list and the detail pane",resizeHandleHint:"Drag or use the arrow keys to resize, or click to step through the preset widths",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",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: ${Ce("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${Ce("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${Ce("en",e)} / ${Ce("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${Ce("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${Ce("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${Ce("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${Gp[e]}. Please try again later.`,operationRefused:e=>`You are not allowed to ${Gp[e]}.`,noticeRepeated:e=>`(${Ce("en",e)} times)`,rowState:({readState:e,isStarred:t})=>`${yE[e]}${t?", starred":""}`,rowEditingState:({isDraft:e})=>e?"Editing draft":"Editing",listRowPosition:(e,t)=>`${Ce("en",e)} of ${Ce("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${Ce("en",e)}`,searchHitCount:e=>`${Ce("en",e)} ${e===1?"hit":"hits"}`,searchFailed:e=>pE[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 (${Ce("en",e)})`,searchFiltersFailed:e=>fE[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",liveUpdatesRefused:"\u30E9\u30A4\u30D6\u66F4\u65B0\u3092\u53D7\u3051\u53D6\u308B\u6A29\u9650\u304C\u7121\u3044\u305F\u3081\u3001\u66F4\u65B0\u304C\u6B62\u307E\u308A\u307E\u3057\u305F\u3002\u5F8C\u306E\u5909\u66F4\u3092\u898B\u308B\u306B\u306F\u30DA\u30FC\u30B8\u3092\u8AAD\u307F\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002",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",markUpdateRead:"\u66F4\u65B0\u3092\u65E2\u8AAD\u306B\u3059\u308B",updatedSinceRead:"\u66F4\u65B0\u3042\u308A",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",resizeHandleHint:"\u30C9\u30E9\u30C3\u30B0\u304B\u77E2\u5370\u30AD\u30FC\u3067\u5E45\u3092\u5909\u3048\u3001\u30AF\u30EA\u30C3\u30AF\u3067\u6C7A\u307E\u3063\u305F\u5E45\u3092\u9806\u306B\u5207\u308A\u66FF\u3048\u308B",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:"\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: ${Ce("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${Ce("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${Ce("ja",e)} / ${Ce("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${Ce("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${Ce("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${Ce("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${jp[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`,operationRefused:e=>`${jp[e]}\u306E\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002`,noticeRepeated:e=>`(${Ce("ja",e)} \u56DE\u76EE)`,rowState:({readState:e,isStarred:t})=>`${RE[e]}${t?"\u3001\u30B9\u30BF\u30FC\u4ED8\u304D":""}`,rowEditingState:({isDraft:e})=>e?"\u4E0B\u66F8\u304D\u3092\u7DE8\u96C6\u4E2D":"\u7DE8\u96C6\u4E2D",listRowPosition:(e,t)=>`\u5168 ${Ce("ja",t)} \u4EF6\u4E2D ${Ce("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${Ce("ja",e)} \u4EF6\u76EE`,searchHitCount:e=>`${Ce("ja",e)} \u4EF6\u30D2\u30C3\u30C8`,searchFailed:e=>uE[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 (${Ce("ja",e)})`,searchFiltersFailed:e=>mE[e]})}),Qp=Object.freeze({en:Object.freeze({...Kp.en,...Ol.en}),ja:Object.freeze({...Kp.ja,...Ol.ja})}),hE=e=>{let t={},r=!1;for(let n of Ml){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},Yp=(e,t,r)=>{e[t]=r},Pl=(e,t)=>{let r=dE(e);if(t===void 0)return Qp[r];if(t===null||typeof t!="object")throw Me("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Me("labels","a plain object (prototype Object.prototype or null)",t);for(let s of Object.keys(t))if(!Nl.includes(s))throw Ho("labels key",s,Nl);let a={...lE(r,hE(t)),...Ol[r]};for(let s of qp){let i=Object.hasOwn(t,s)?t[s]:void 0;if(i!==void 0){if(typeof i!="string"||i.trim()==="")throw Me(`labels.${s}`,"a non-blank string",i);Yp(a,s,i)}}for(let s of Xp){let i=Object.hasOwn(t,s)?t[s]:void 0;if(i!==void 0){if(typeof i!="function")throw Me(`labels.${s}`,"a function",i);Yp(a,s,i)}}return Object.freeze(a)},Zp=e=>{let t={};for(let r of Ml)t[r]=e[r];return Object.freeze(t)};import{jsx as kl,jsxs as NE}from"react/jsx-runtime";var EE=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-900 dark:bg-emerald-900/30 dark:text-emerald-400"}}),DE=`${ue} text-xs`,wE=({title:e,annotation:t})=>NE("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[kl("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?kl("span",{className:DE,children:t}):null]}),Bo=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",renderHeader:wE,showDevControls:!1,headingLevel:3}),Jp=["apiBasePath","ssePath","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired","search"];var TE=e=>{for(let t of Object.keys(e))if(!Jp.includes(t))throw Ho("config key",t,Jp)},em=[2,3,4,5],AE=e=>{if(e===void 0)return Bo.headingLevel;let t=em.find(r=>r===e);if(t===void 0)throw Me("config.headingLevel",`one of ${em.join(", ")} (the level of each report's heading)`,e);return t},tm=["debounceMs","renderFilterSelect"],vE=Object.freeze({min:300,max:5e3}),xE=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},CE=e=>{if(e===void 0)return null;if(typeof e!="function")throw Me("config.search.renderFilterSelect","a function (it renders the control of each filter cell)",e);return e},IE=e=>{if(e===void 0)return null;if(!xE(e))throw Me("config.search","a plain object ({} for Enter only, or { debounceMs })",e);for(let o of Object.keys(e))if(!tm.includes(o))throw Ho("config.search key",o,tm);let t=e.debounceMs,{min:r,max:n}=vE;return{debounceMs:t===void 0?null:tt("config.search.debounceMs",t,r,n),renderFilterSelect:CE(e.renderFilterSelect)}},_E=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Me(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},LE=e=>{TE(e);let t=e.onSessionExpired;if(t===void 0)throw Xa("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Me("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=bE(e.locale),n=Pl(r,e.labels),o=Bo;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?EE(n):_E(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:AE(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired,search:IE(e.search)}},rm=SE(null),Fl=({config:e,children:t})=>{let r=gE(()=>LE(e),[e]);return kl(rm.Provider,{value:r,children:t})},Q=()=>Yt(rm,"useDailyReportConfig","DailyReportConfigProvider"),gr=(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},Ja=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";var nm=bt(void 0,1,"SessionGate"),OE=()=>{let e=!1,t=0,r=null,n=null,o=null,a=new Set,s=()=>{for(let i of[...a])i()};return{isPaused:()=>e,period:()=>t,subscribe:i=>(a.add(i),()=>{a.delete(i)}),reportSessionEnd:(i,l)=>{e||l!==t||(e=!0,n=r,t+=1,nm.info(`The session ended (${i}); the network activity pauses until the host's sessionEpoch changes`),s(),o?.())},setSessionExpiredHandler:i=>{o=i},syncEpoch:i=>{if(r=i,!!e){if(n===null){n=i;return}n!==i&&(e=!1,n=null,t+=1,nm.info("The host confirmed a new session; the network activity resumes"),s())}},reset:()=>{e=!1,r=null,n=null,o=null,t+=1}}},es=(e,t)=>({period:e.period,reportSessionEnd:r=>e.reportSessionEnd(t,r)}),om=new Map,rt=e=>{let t=om.get(e);if(t!==void 0)return t;let r=OE();return om.set(e,r),r};var Wr=(e,t)=>{let r=e.isPaused();return e.subscribe(()=>{let n=e.isPaused();r&&!n&&t(),r=n})};import{tapScrollCircleSampleVisual as PE}from"@aiquants/virtualscroll";var ME=4;var Fn=120,am=1e3,ts=.8,Hl={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},rs=20,Bl=24,Hn=8,Vo=Bl+Hn,sm=6,ns={reportHubId:-1,businessDate:null},os=240,as=15,kE=8,im=460,lm=3,dm=440,cm=8,FE={enabled:!0,renderVisual:PE,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},ss={width:kE,tapScrollCircleOptions:FE,enableArrowButtonTabStops:!1},is=["pen","touch"];var zl=bt(void 0,1,"DetailLoader"),um=(e,t)=>{let r=globalThis[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},Ul=null,us=()=>(Ul===null&&(Ul={ttl:um("__DAILY_REPORT_CACHE_TTL__",3e5),reviveMs:um("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4)}),Ul),le={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=>{le.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=Co(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()){zl.warn(`Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+us().reviveMs))}},delete(e,t){this.reports.delete(e);let r=Co(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+us().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}},hm=(e,t,r=!0)=>le.set(e,t,r),St=(e,t)=>le.getReport(e,t?.ignoreExpiry),Bt=(e,t)=>le.update(e,t),ms=(e,t)=>le.delete(e,t),zo=()=>{le.clear(),ds.clear(),ZE()},ps=(e,t)=>{let r=le.lastMutations.get(e);(r===void 0||r<t)&&le.lastMutations.set(e,t)},Kl=e=>{ps(e,Date.now())},bm=e=>{let t=Symbol("mutation-lock"),r=le.lockHolders.get(e);return r===void 0?le.lockHolders.set(e,new Set([t])):r.add(t),ps(e,Date.now()),()=>{let n=le.lockHolders.get(e);n===void 0||!n.delete(t)||(n.size===0&&le.lockHolders.delete(e),ps(e,Date.now()))}},Sm=(e,t)=>{let r=performance.now()+t,n=le.lockHolds.get(e);(n===void 0||n<r)&&le.lockHolds.set(e,r),ps(e,Date.now()+t)},gm=e=>le.recentDeletes.set(e,Date.now()),Em=(e,t)=>{let r=n=>{n===e&&t()};return le.listeners.add(r),()=>{le.listeners.delete(r)}},Er=(e,t)=>{le.prune(),le.set(t,Date.now()+us().ttl)},Dm=e=>{le.prune();let t=le.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}));le.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,readContentDigest:t?.readContentDigest??null,postedComments:n},Date.now()+us().ttl)},WE=Vl.object({report:hr}),zE=Vl.object({reports:Vl.array(hr)}),Wo=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportReadHttpError",this.status=r}},wm=(e,t)=>new Wo(e,t),KE=e=>e instanceof Wo&&e.status===401,pm=e=>e instanceof Wo&&e.status===403,$E=e=>new Error(`[daily-report] ${je.reports} answered the outcome failed for report ${e}`),$l=async(e,t,r)=>{if(!e.ok)throw wm(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 (${qa(n.error)})`);return n.data},jE=async(e,t)=>{let r=le.getReport(t);if(r)return r;let n=le.pendingReports.get(t);if(n)return n;let o=Date.now(),a=new URLSearchParams({[Ue.reportHubId]:String(t)}),s=fetch(`${e}/${je.report}?${a}`,{cache:"no-cache"}).then(i=>$l(i,WE,je.report)).then(({report:i})=>le.cacheMany([i],null,o)[0]).finally(()=>le.pendingReports.delete(t));return le.pendingReports.set(t,s),s},ds=new Map,GE=1e4,YE=(e,t)=>{let r=ds.get(t),n=Date.now();if(r&&n-r.at<GE)return r.inFlight;let o=jl(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return ds.set(t,a),o.finally(()=>{ds.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},jl=async(e,t,r={})=>{let n=r.forceRefresh?null:le.getList(t);if(n)return n;let o=le.pendingLists.get(t);if(o)return o;let a=Date.now(),s=new URLSearchParams({[Ue.businessDate]:t}),i=fetch(`${e}/${je.businessDate}?${s}`,{cache:"no-cache"}).then(l=>$l(l,zE,je.businessDate)).then(({reports:l})=>le.cacheMany(l,t,a)).finally(()=>le.pendingLists.delete(t));return le.pendingLists.set(t,i),i},qE=async(e,t,r)=>{let n=le.getList(r)!==null,a=(await jl(e,r)).find(i=>i.reportHubId===t);if(a!==void 0)return a;if(!n)return null;let s=await YE(e,r);return s===null?null:s.find(i=>i.reportHubId===t)??null},XE=5e3,Wl=new Map,QE=e=>{let t=new Map,r=new Map,n=new Map,o=new Set,a=(m,p)=>{let f=[];for(let b of m)r.get(b)===p&&(r.delete(b),f.push(b));return f},s=(m,p)=>{let f=t.get(m);if(f!==void 0){t.delete(m),o.delete(m);for(let b of f)p(b)}},i=(m,p)=>{let b=setTimeout(()=>{for(let h of m)n.delete(h),t.has(h)&&(o.add(h),u.enqueue(h))},p);for(let h of m)n.set(h,b)},l=(m,p,f)=>{let b=[];for(let h of m)p!==null&&t.has(h)&&!o.has(h)?b.push(h):s(h,D=>D.reject(f));p!==null&&b.length>0&&i(b,p)},d=(m,p)=>{let f=[];for(let D of m)D.outcome==="ok"&&f.push(D.report);let b=le.cacheMany(f,null,p),h=0;for(let{reportHubId:D,outcome:g}of m){if(r.delete(D),g==="failed"){let S=$E(D);s(D,E=>E.reject(S));continue}let R=g==="ok"?b[h++]:null;s(D,S=>S.resolve(R))}},c=async(m,p)=>{for(let h of m)r.set(h,p);let f=Date.now(),b=new URLSearchParams({[Ue.reportIds]:m.join(",")});try{let h=await fetch(`${e}/${je.reports}?${b}`,{cache:"no-cache",signal:p});if(h.status===429){l(a(m,p),Za(h,XE),wm(je.reports,h.status));return}let{outcomes:D}=await $l(h,Bp(m),je.reports);if(p.aborted)return;d(D,f)}catch(h){for(let D of a(m,p))s(D,g=>g.reject(h))}},u=Qa({hasListener:m=>t.has(m),batchSize:br.maxDetailIds,inFlightBound:ko,send:c}),y=zp({frames:Wp,handOn:m=>{for(let p of m)u.enqueue(p)}});return{readers:t,pending:r,holds:n,retried:o,gate:y,scheduler:u}},ZE=()=>{for(let{readers:e,pending:t,holds:r,retried:n,gate:o,scheduler:a}of Wl.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)}},mm=new DOMException("The detail reader left its batched read","AbortError"),JE=(e,t,r)=>new Promise((n,o)=>{let a=Wl.get(e);a===void 0&&(a=QE(e),Wl.set(e,a));let{readers:s,pending:i,holds:l,retried:d,gate:c,scheduler:u}=a,y={resolve:n,reject:o},m=s.get(t);m===void 0?s.set(t,new Set([y])):m.add(y),c.holds(t)||u.isWanted(t)||i.has(t)||l.has(t)||c.enter(t);let p=()=>{let f=s.get(t);if(!(f===void 0||!f.delete(y))&&(o(r.reason),!(f.size>0))){s.delete(t),d.delete(t),c.leave(t);for(let b of u.release(t))i.delete(b)}};r.addEventListener("abort",p,{once:!0})}),Bn=HE("date"),eD=Object.freeze({report:null,error:null,isLoading:!1,isRefetching:!1}),tD=Object.freeze({report:null,error:new Error("Invalid ID"),isLoading:!1,isRefetching:!1}),rD=Object.freeze({report:null,error:null,isLoading:!0,isRefetching:!1}),fm=new WeakMap,nD=e=>{let t=fm.get(e);if(t!==void 0)return t;let r=Object.freeze({report:e,error:null,isLoading:!1,isRefetching:!1});return fm.set(e,r),r},cs=(e,t,r)=>{let n=e.reports.get(t);if(n!==void 0)return{report:n.data,isStale:!e.isValid(n.expiresAt)};if(r===null)return{report:null,isStale:!1};let o=e.lists.get(r),a=o?.data.find(s=>s.reportHubId===t);return o===void 0||a===void 0?{report:null,isStale:!1}:{report:a,isStale:!e.isValid(o.expiresAt)}},ym=(e,t,r)=>{if(t<0)return eD;if(t===0)return tD;let{report:n}=cs(e,t,r);return n===null?rD:nD(n)},oD=(e,t)=>Object.keys(t).some(n=>e[n]!==t[n])?Object.freeze({...e,...t}):e,ls=()=>{},aD=({apiBasePath:e,detailSource:t,cache:r})=>{let n=new Map,o=rt(e),a=new Set,s=(m,p)=>{let f=oD(m.record,p);if(f!==m.record){m.record=f;for(let b of m.listeners)b()}},i=m=>{let p=n.get(m);if(p===void 0)return;let{report:f,isStale:b}=cs(r,m,p.dateKey);s(p,f!==null&&!b&&p.record.isRefetching?{report:f,error:null,isLoading:!1,isRefetching:!1}:{report:f})},l=(m,p,f)=>{let{record:b}=p;if(b.report!==null&&b.error===null&&!pm(f)){zl.warn(`Refetch failed, the shown report stays id=${m}`,f),s(p,{isLoading:!1,isRefetching:!1});return}s(p,{error:f,isLoading:!1,isRefetching:!1})},d=(m,p)=>{let{dateKey:f}=p,{report:b,isStale:h}=cs(r,m,f);if(b!==null&&!h)return s(p,{report:b,error:null,isLoading:!1,isRefetching:!1}),ls;if(o.isPaused())return a.add(m),s(p,{isLoading:b===null&&p.record.report===null,isRefetching:!1}),ls;s(p,{isLoading:b===null,isRefetching:!0});let D=null,g=!1,R=async()=>{let E,v=o.period();try{t==="ids"?(D=new AbortController,E=await JE(e,m,D.signal)):f!==null?E=await qE(e,m,f):E=await jE(e,m)}catch(_){if(g)return;let O=_ instanceof Error?_:new Error("Load failed");if(KE(O)){o.reportSessionEnd("detail-read",v),a.add(m),s(p,{isLoading:p.record.report===null&&p.record.error===null,isRefetching:!1});return}l(m,p,O);return}g||s(p,{report:E,error:null,isLoading:!1,isRefetching:!1})};if(b===null)return R(),()=>{g=!0,D?.abort(mm)};let S=setTimeout(R,Fn);return()=>{g=!0,clearTimeout(S),D?.abort(mm)}},c=(m,p)=>{let{record:f}=p;return f.isRefetching?!1:f.error!==null?!pm(f.error):cs(r,m,p.dateKey).isStale},u=(m,p)=>{let f=Co(p),b={record:ym(r,m,f),dateKey:f,listeners:new Set,stop:ls};return n.size===0&&r.listeners.add(i),n.set(m,b),b.stop=d(m,b),b},y=(m,p)=>{n.delete(m),n.size===0&&r.listeners.delete(i),p.stop()};return Wr(o,()=>{let m=[...a];a.clear();for(let p of m){let f=n.get(p);f!==void 0&&(f.stop(),f.stop=d(p,f))}}),{read:m=>{let p=n.get(m);return p===void 0?ym(r,m,null):p.record},subscribe:(m,p,f)=>{if(m<=0)return ls;let b=n.get(m),h=b===void 0?u(m,p):b;return!h.listeners.has(f)&&c(m,h)&&(h.stop(),h.stop=d(m,h)),h.listeners.add(f),()=>{!h.listeners.delete(f)||h.listeners.size>0||y(m,h)}}}},sD={date:new Map,ids:new Map},iD=(e,t)=>{let r=sD[t],n=r.get(e);if(n!==void 0)return n;let o=aD({apiBasePath:e,detailSource:t,cache:le});return r.set(e,o),o},an=()=>{let{apiBasePath:e}=Q(),t=Rm(Bn);return iD(e,t)},Gl=(e,t)=>{let r=an(),[n,o]=VE(()=>({reportHubId:e,resource:r.read(e)})),a=n;return n.reportHubId!==e&&(a={reportHubId:e,resource:r.read(e)},o(a)),UE(()=>{let s=()=>{let l=r.read(e);o(d=>d.resource===l?d:{reportHubId:e,resource:l})},i=r.subscribe(e,t,s);return s(),i},[r,e,t]),a.resource},Yl=()=>{let{apiBasePath:e}=Q(),t=Rm(Bn);return BE(r=>{if(t==="ids")return;let n=Co(r);n&&!le.getList(n)&&jl(e,n).catch(o=>zl.warn("Prefetch error",n,o))},[e,t])};import{VIRTUAL_SCROLL_LABEL_KEYS as lD}from"@aiquants/virtualscroll";import{useRef as dD}from"react";var fs=()=>{let{locale:e,labels:t}=Q(),r=Zp(t),n=dD(null),o=n.current;return o!==null&&lD.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};import{useState as cD}from"react";var Ve=e=>{let[t]=cD(()=>({current:e()}));return t};import{useLayoutEffect as gD,useState as ED}from"react";import{flushSync as DD}from"react-dom";var vm=Object.freeze({visibilityProperty:!0}),Tm=new Set(["auto","scroll"]),Am=new Set(["","true","plaintext-only"]),xm=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=_m(n)?n.host:null}return!1},uD=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(vm))return!0;return!1},Cm=e=>e.localName==="area"?uD(e):e.checkVisibility(vm),pD=e=>{let t=e.getAttribute("contenteditable");if(t===null||!Am.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(Am.has(o))return!1;if(o==="false")return!0}return!0},mD=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&&Cm(n)&&(r=n)}return r===e},fD=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&&Tm.has(a.overflowX)||n&&Tm.has(a.overflowY)},yD=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 pD(e)}},RD=/^[\t\n\f\r ]*[+-]?\d/,hD=e=>{let t=e.getAttribute("tabindex");return t!==null&&RD.test(t)?e.tabIndex:null},Im=(e,t)=>{for(let r of Xl(e))if(t(r)||Im(r,t))return!0;return!1},ys=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=bD(e,t);return t.set(e,n),n},bD=(e,t)=>{if(!$o(e))return"none";let r=hD(e),n=r===null&&yD(e),o=r===null&&!n&&fD(e);return!(r!==null||n||o)||e.matches(":disabled")||xm(e)||!Cm(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?mD(e)?"sequential":"programmatic":"sequential":Im(e,a=>ys(a,t)==="sequential")?"none":"sequential"},ql=(e,t)=>{for(let r of Xl(e))t(r),ql(r,t)},Xl=e=>{if(Pe(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 Ko=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return ql(e,l=>{ys(l,a)==="sequential"&&n.push(l)}),{before:r,within:n,after:o};let s=!1,i=(l,d)=>{for(let c of Xl(l)){let u=c===t;!u&&ys(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}},Rs=e=>{let t=[],r=new Map;return ql(e,n=>{ys(n,r)==="sequential"&&t.push(n)}),t},Pe=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,$o=e=>"focus"in e&&"blur"in e,SD=e=>e.nodeType===e.DOCUMENT_NODE,_m=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,nt=e=>{let t=e.getRootNode();if(_m(t)){let r=t.activeElement;return r===null?nt(t.host):r}return SD(t)?t.activeElement:null},sn=e=>{let t=nt(e);return t===null||t===t.ownerDocument.body||xm(t)},Ge=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 hs=e=>{let[t,r]=ED(null);return gD(()=>{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?DD(()=>r(l)):r(l)},s=l=>{for(let d of l)a(d.borderBoxSize[0].blockSize)},i=new(Ge(n)).ResizeObserver(s);return i.observe(n,{box:"border-box"}),()=>i.disconnect()},[e]),t};var Lm=255,Ql=[null],Nm=new Map,bs=[void 0],Om=new Map,rr=e=>{if(e===null)return 0;let t=Nm.get(e);if(t!==void 0)return t;let r=Ql.length;return Ql.push(e),Nm.set(e,r),r},Dr=e=>{let t=Ql[e];if(t===void 0)throw new Error(`[daily-report] No business date has the code ${e}`);return t},jo=e=>{if(e===void 0)return 0;let t=Om.get(e);if(t!==void 0)return t;let r=bs.length;if(r>Lm)throw new Error(`[daily-report] The rows hold more than ${Lm} distinct source types; ${e} has no code`);return bs.push(e),Om.set(e,r),r},ln=e=>{if(!(Number.isInteger(e)&&e>=0&&e<bs.length))throw new Error(`[daily-report] No source type has the code ${e}`);return bs[e]},tr=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:Dr(this.businessDateCodes[r]),sourceType:ln(this.sourceTypeCodes[r])}}items(){let t=[];for(let r=0;r<this.length;r++)t.push(this.itemAt(r));return t}businessDateAt(t){return Dr(this.businessDateCodes[this.rowIndexOf(t)])}sourceTypeAt(t){return ln(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}`)}},Mm=e=>{if(e instanceof tr)return e;throw new Error("[daily-report] A row batch the package did not build has no code columns")},Ut=new tr(0,new Float64Array(0),new Uint32Array(0),new Uint8Array(0)),wD=Float64Array.BYTES_PER_ELEMENT+Uint32Array.BYTES_PER_ELEMENT+Uint8Array.BYTES_PER_ELEMENT,Un=e=>{let t=new ArrayBuffer(e*wD),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)}},wr=(e,t,r)=>{if(r===0)return Ut;let n=t+r;return new tr(r,e.ids.subarray(t,n),e.businessDateCodes.subarray(t,n),e.sourceTypeCodes.subarray(t,n))},TD=16,qt=class{constructor(t=TD){this.count=0;this.columns=null;this.initialCapacity=tt("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,rr(t.businessDate),jo(t.sourceType))}pushFrom(t,r){this.push(t.ids[r],t.businessDateCodes[r],t.sourceTypeCodes[r])}build(){let t=this.columns;return t===null?Ut:wr(t,0,this.count)}grow(){let t=this.columns,r=Un(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}},Zl=e=>{let t=new qt(e.length);for(let r of e)t.pushItem(r);return t.build()};var Xt=10,Go=1<<Xt,Wn=Go-1,AD=Go,vD=AD/2,Vn=new Map,td=new Map,rd=(e,t,r)=>e.businessDate===t&&e.sourceType===r,xD=(e,t,r)=>{let n=Vn.get(e),o=n===void 0?td.get(e):n;return o!==void 0&&rd(o,t,r)?o:void 0},Ss=(e,t,r)=>{let n=Dr(t),o=ln(r),a=Vn.get(e);if(a!==void 0&&rd(a,n,o))return a;let s=a===void 0?td.get(e):void 0,i=s!==void 0&&rd(s,n,o)?s:{reportHubId:e,businessDate:n,sourceType:o};return Vn.set(e,i),Vn.size>=vD&&(td=Vn,Vn=new Map),i},Pm=(e,t,r)=>{let n=Dr(t),o=ln(r),a=xD(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 km(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=Pm(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}}}}},gs=new At([],0),km=(e,t)=>{let r=e.chunks[t>>>Xt],n=t&Wn;return Ss(r.ids[n],r.businessDateCodes[n],r.sourceTypeCodes[n])},dn=(e,t)=>e.chunks[t>>>Xt].ids[t&Wn],zn=(e,t)=>e.chunks[t>>>Xt].businessDateCodes[t&Wn],od=(e,t)=>e.chunks[t>>>Xt].sourceTypeCodes[t&Wn],Jl={businessDate:null,reportHubId:0},ed={businessDate:null,reportHubId:0},Kn=(e,t,r,n)=>(Jl.reportHubId=e,Jl.businessDate=Dr(t),ed.reportHubId=r,ed.businessDate=Dr(n),kp(Jl,ed)),Fm=e=>{if(e.length===0)return gs;let t=[];return Hm(t,e,e.length),new At(t,e.length)},Hm=(e,t,r)=>{for(let n=0;n<r;n+=Go)e.push(wr(t,n,Math.min(Go,r-n)))},cn={removals:[],replacements:[],additions:Ut,insertions:[]},CD=e=>{let t=Un(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)),wr(t,0,e.length)},ID=(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>>>Xt,d=n.get(l);d===void 0&&(d=CD(e.chunks[l]),n.set(l,d),r[l]=d);let c=o&Wn;d.ids[c]=a,d.businessDateCodes[c]=s,d.sourceTypeCodes[c]=i}return new At(r,e.length)},$n=(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((E,v)=>E-v),a=[...t.replacements].sort((E,v)=>E.index-v.index);if(o.length===0&&r.length===0)return ID(e,a);let s=e.length,i=s-o.length+r.length;if(i===0)return gs;let d=Math.min(o.length===0?s:o[0],a.length===0?s:a[0].index,r.length===0?s:n[0])>>>Xt,c=e.chunks.slice(0,d),u=d<<Xt,y=i-u,m=y===0?Ut:Un(y),p=0,f=()=>{if(p===y)throw new Error(`[daily-report] Edits of a list of ${s} rows write more than the ${i} rows they leave`);return y-p},b=(E,v,_)=>{f(),m.ids[p]=E,m.businessDateCodes[p]=v,m.sourceTypeCodes[p]=_,p+=1},h=(E,v)=>{for(let _=E;_<v;){let O=e.chunks[_>>>Xt],M=_&Wn,P=Math.min(v-_,Go-M,f());m.ids.set(O.ids.subarray(M,M+P),p),m.businessDateCodes.set(O.businessDateCodes.subarray(M,M+P),p),m.sourceTypeCodes.set(O.sourceTypeCodes.subarray(M,M+P),p),p+=P,_+=P}},D=d<<Xt,g=0,R=0,S=0;for(;;){let E=Math.min(g<o.length?o[g]:s,R<a.length?a[R].index:s,S<r.length?n[S]:s);for(h(D,E),D=E;S<r.length&&n[S]===E;S++)b(r.ids[S],r.businessDateCodes[S],r.sourceTypeCodes[S]);if(E===s)break;if(g<o.length&&o[g]===E)g+=1,D=E+1;else if(R<a.length&&a[R].index===E){let v=a[R];b(v.id,v.businessDateCode,v.sourceTypeCode),R+=1,D=E+1}}return Hm(c,m,p),new At(c,u+p)},Yo=(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<<Xt)+s}return-1},Bm=(e,t)=>{let r=Yo(e,t);return r===-1?void 0:km(e,r)},nd=(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(Pm(s,e.businessDateCodes[a],e.sourceTypeCodes[a]))}return t.set(e,o),o},Um=(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=nd(o,t,r);for(let s=0;s<a.length;s++)n.push(a[s])}return n},Vm=(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=nd(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=nd(t.chunks[l],r,n);for(let c=0;c<d.length;c++)i.push(d[c])}return{before:s,after:i}};var Wm=(e,t)=>Number.isInteger(t)&&t>=0&&t<e.length,ke=(e,t)=>Wm(e,t)?e.at(t):void 0,_D=(e,t)=>e instanceof At?Wm(e,t)?dn(e,t):void 0:ke(e,t)?.reportHubId,LD=16,zm=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,Fe=(e,t,r)=>{let n=r===null?void 0:ke(e,r);if(r!==null&&n!==void 0){if(n.reportHubId===t)return r;for(let o=1;o<=LD;o++){if(ke(e,r+o)?.reportHubId===t)return r+o;if(ke(e,r-o)?.reportHubId===t)return r-o}}return nr(e,t)},nr=(e,t)=>{if(e instanceof At)return Yo(e,t);let r=0;for(let n of e){if(n.reportHubId===t)return r;r+=1}return-1},ad=e=>{let t=ke(e,0);return t===void 0?null:t.reportHubId};var or=(e,t)=>{let r=ke(e,t);if(r===void 0)throw Km(e,t);return r},Es=(e,t)=>{let r=_D(e,t);if(r===void 0)throw Km(e,t);return r},Km=(e,t)=>new Error(`[daily-report] No report at index ${t} of a list of ${e.length}`);var Ds="data-daily-report-row",$m=`[${Ds}]`,jm="data-daily-report-button",ws="data-daily-report-row-focus",Ts={[ws]:""},Gm="data-daily-report-view",As={[Gm]:""},sd="treegrid",ND='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',OD=/^[1-9]\d*$/,Ym=e=>{if(e===null||!OD.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},qm=e=>e.querySelector(`[${Gm}] [role="${sd}"]`),Xm=e=>e.querySelector(`[${ws}]`),un=(e,t)=>{if(t===null||!Pe(e))return null;let r=e.closest($m);return r===null||r===t||!t.contains(r)?null:r},qo=e=>Ym(e.getAttribute(Ds)),zr=e=>Ym(e.getAttribute("aria-posinset")),Qm=e=>{let t=e.closest($m),r=t===null?null:zr(t);return r===null?null:r-1},Zm=(e,t)=>{if(e===null)return null;let r=qo(e);if(r===null)return null;let n=zr(e),o=Fe(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},Jm=(e,t)=>{if(!Pe(e))return!1;let r=e.closest(ND);return r!==null&&r!==t&&t.contains(r)};import{createContext as ef}from"react";var pn=ef(0),Kr=-1,tf=(e,t)=>t.phase==="complete"?e:t.totalCount===null?Kr:Math.max(e,t.totalCount),mn=ef(-1);import{flushSync as MD}from"react-dom";var PD=()=>({deferring:!1,measuring:!1,queuedObservations:new Set,queuedMeasurements:new Set,frame:0}),rf=(e,t)=>{e.queuedObservations.add(t),e.measuring&&e.queuedMeasurements.add(t)},nf=e=>{let t=new Set,r=PD(),n=[],o=null,a=()=>{try{MD(()=>e(n))}finally{n.length=0}},s=()=>{let l=r.queuedMeasurements;for(;l.size>0;){for(let d of l)n.push([d,d.getBoundingClientRect().height]);l.clear(),a()}},i=()=>{s(),r.measuring=!1};return{observe:l=>(t.add(l),o!==null&&(r.deferring?rf(r,l):o.observe(l)),()=>{t.delete(l),r.queuedObservations.delete(l),r.queuedMeasurements.delete(l),o!==null&&o.unobserve(l)}),remeasure:l=>{if(o!==null){if(!r.deferring){o.observe(l);return}o.unobserve(l),rf(r,l)}},attach:l=>{if(o!==null)throw new Error("[daily-report] the row-height delivery is connected to a view's window already; disconnect it before connecting it again");let d=()=>{r.frame=0,r.deferring=!1;for(let y of r.queuedObservations)u.observe(y);r.queuedObservations.clear()},c=y=>{r.deferring=!0,r.measuring=!0,l.cancelAnimationFrame(r.frame),r.frame=l.requestAnimationFrame(d);for(let m of y)n.push([m.target,m.borderBoxSize[0].blockSize]);a(),s(),queueMicrotask(i)},u=new l.ResizeObserver(c);for(let y of t)u.observe(y);return o=u,()=>{l.cancelAnimationFrame(r.frame),r.frame=0,r.deferring=!1,r.measuring=!1,r.queuedObservations.clear(),r.queuedMeasurements.clear(),u.disconnect(),o=null}}}};var vs=(e,t)=>{if(!(Number.isFinite(t)&&t>0))throw Me(e,"a finite number > 0",t)},of=({seedPx:e,quantumPx:t})=>{vs("createRowHeightEstimate: quantumPx",t),vs("createRowHeightEstimate: seedPx",e);let r=l=>Math.ceil(l/t)*t;if(r(e)!==e)throw Me("createRowHeightEstimate: seedPx",`a multiple of the quantum ${t}`,e);let n=[],o=new Map,a=0,s=l=>{let d=0,c=n.length;for(;d<c;){let u=d+c>>>1;n[u].heightPx<l?d=u+1:c=u}return d},i=l=>{let d=0,c=n[0].count;for(;c<=l;)d+=1,c+=n[d].count;return n[d].heightPx};return{record:(l,d)=>{if(vs("RowHeightEstimate.record: nextPx",d),l!==null){vs("RowHeightEstimate.record: previousPx",l);let u=o.get(l);if(u===void 0)throw Me("RowHeightEstimate.record: previousPx","a recorded height",l);u.count-=1,u.count===0&&(o.delete(l),n.splice(s(l),1)),a-=1}let c=o.get(d);if(c===void 0){let u={heightPx:d,count:1};o.set(d,u),n.splice(s(d),0,u)}else c.count+=1;a+=1},estimate:()=>{if(a===0)return e;let l=i(a>>>1),d=a%2===1?l:(i((a>>>1)-1)+l)/2;return r(d)}}};import{useVirtualScrollItem as ff}from"@aiquants/virtualscroll";import{createContext as yf,useCallback as md,useContext as cd,useLayoutEffect as id,useReducer as kD,useRef as af}from"react";import{flushSync as sf}from"react-dom";var FD=1/2,HD=32,BD=8,jn=16,UD=5,VD=3,WD=1.5,ud=2,lf=1e3/60,zD=1,KD=1,pd=()=>{},Gn=Object.freeze({visible:0,reach:1,near:2,far:3}),xs=Object.freeze({capture:!0,passive:!0}),ld=Object.freeze({type:"sync-release"}),df=Object.freeze({type:"deferred-visible"}),$D=Object.freeze({type:"oversize-frame"}),Rf=(e,t)=>({sorted:new Float64Array(e),arrivals:new Float64Array(e),known:t,count:0,next:0,p50:null,p90:null}),cf=()=>({frameTime:0,onTime:0,start:0,inputEpoch:0,interval:0,units:0,reservoir:null,busy:null,rows:[]}),dd=(e,t)=>({kind:Object.freeze({sizing:e,change:t}),...Rf(HD,BD)}),uf=e=>({body:dd(e,"body"),box:dd(e,"box"),marks:dd(e,"marks")}),pf=(e,t)=>{let{sorted:r,arrivals:n}=e,o=r.length;if(e.count===o){for(let s=r.indexOf(n[e.next]);s<o-1;s++)r[s]=r[s+1];e.count-=1}n[e.next]=t,e.next=(e.next+1)%o;let a=e.count;for(;a>0&&r[a-1]>t;a--)r[a]=r[a-1];r[a]=t,e.count+=1,!(e.count<e.known)&&(e.p50=r[Math.ceil(.5*e.count)-1],e.p90=r[Math.ceil(.9*e.count)-1])},jD=e=>{e.count=0,e.next=0,e.p50=null,e.p90=null},mf=(e,t)=>{let r=e[0];for(let n=1;n<t;n++)e[n]<r&&(r=e[n]);return r},GD=(e,t)=>e.zone!==t.zone?e.zone<t.zone:e.second!==t.second?e.second<t.second:e.third<t.third,YD=(e,t)=>{t.zone=e.zone,t.second=e.second,t.third=e.third,t.paneReach=e.paneReach},Xo=e=>(e<lf-zD?lf:e)-ud,qD=e=>(Math.round(Xo(e)/e)-1+WD)*e,hf=({gridId:e,isHolding:t,subscribeHold:r,keySteps:n,activeIndex:o,indexOf:a,pane:s,observe:i})=>{let l=new Map,d=new Map,c=new Map,u=new Map,y=new Map,m={fixed:uf("fixed"),measured:uf("measured")},p=Object.values(m).flatMap(L=>Object.values(L)),f=null,b=null,h=0,D=null,g=1,R=null,S=null,E=null,v=!1,_=1,O=!1,M={zone:0,second:0,third:0,paneReach:!1},P={zone:0,second:0,third:0,paneReach:!1},H=L=>{i!==void 0&&i(L)},T=L=>{if(R===null)return!1;let K=Xo(R),{p50:G}=m[L.sizing][L.change];return G!==null&&G>K||L.sizing==="measured"&&S!==null&&S>K&&t()},w=()=>{if(R===null)return!1;let L=Xo(R);if(S!==null&&S>L)return!0;for(let{p50:K}of p)if(K!==null&&K>L)return!0;return!1},A=()=>{let L=o();return L!==null&&D!==null&&L!==D&&(g=L>D?1:-1),D=L,L},x=(L,K,G)=>T(L)||K==="far"&&G!==g,U=(L,K,G,te,ye)=>{M.zone=L.deferredVisible?Gn.visible:Gn[K],M.second=G===null?Number.POSITIVE_INFINITY:te===null?G:Math.abs(G-te),M.third=ye===-g?1:0,M.paneReach=!1},k=(L,K,G,te,ye)=>{let ie=te.visibleStartIndex,J=te.visibleEndIndex,re=G===null?0:G>J?1:G<ie?-1:0,De=G===null?Number.POSITIVE_INFINITY:re===1?G-J:re===-1?ie-G:0,q=ye&&re===_&&De<=J-ie+1;M.zone=L.deferredVisible||K==="visible"?Gn.visible:K==="reach"||q?Gn.reach:Gn.near,M.second=G===null||re===-_?1:0,M.third=De,M.paneReach=q},V=()=>{let L=t(),K=A(),G=!L&&E!==null&&(K===null||K<E.renderingStartIndex||K>E.renderingEndIndex)?E:null,te=G!==null&&v,ye=null;for(let ie of l.values()){let J=ie.handle.getZone(),re=a(ie.reportHubId),De=re===null||K===null?0:Math.sign(re-K);L&&x(ie,J,De)||te&&T(ie)||(G===null?U(ie,J,re,K,De):k(ie,J,re,G,te),!(ye!==null&&!GD(M,P))&&(ye=ie,YD(M,P)))}return ye},j=()=>{if(!t())return l.size>0;let L=A();for(let K of l.values()){let G=a(K.reportHubId);if(!x(K,K.handle.getZone(),G===null||L===null?0:Math.sign(G-L)))return!0}return!1},W=()=>t()&&h>0&&!w()?!0:j(),z=L=>{l.get(L.reportHubId)===L&&(l.delete(L.reportHubId),L.unsubscribeZone())},de=()=>{f!==null&&f.wake()},ge=()=>{O=!1;let L=d;d=c,c=L;for(let K=L.size;K>0;K--)H(ld);try{sf(()=>{for(let K of L.values())K.apply()})}finally{L.clear()}};return{gridId:e,enqueue:(L,K)=>{let G=l.get(L.reportHubId);G!==void 0&&z(G),d.delete(L.reportHubId);let te=t(),ye=L.handle.getZone()==="visible";if(!te&&ye)return K==="commit"?(H(ld),L.apply(),pd):(d.set(L.reportHubId,L),O||(O=!0,queueMicrotask(ge)),()=>{d.get(L.reportHubId)===L&&d.delete(L.reportHubId)});let ie=te&&ye&&T(L),J={...L,deferredVisible:ie,unsubscribeZone:L.handle.subscribeZone(()=>{let re=L.handle.getZone();if(re==="visible"){if(t()&&T(L)){if(J.deferredVisible)return;J.deferredVisible=!0,H(df);return}z(J),H(ld),L.apply();return}re!=="far"&&de()})};return l.set(L.reportHubId,J),ie&&H(df),de(),()=>{z(J)}},declareRow:L=>{if(L==="fixed")return pd;h+=1,h===1&&de();let K=!0;return()=>{K&&(K=!1,h-=1)}},declareBody:(L,K,G)=>{let te={handle:K,body:G,fresh:G!==null};return u.set(L,te),G!==null&&y.set(G,L),K.setSkippable(G===null),()=>{u.get(L)===te&&u.delete(L),G!==null&&y.get(G)===L&&y.delete(G)}},measured:L=>{let K=y.get(L),G=K===void 0?void 0:u.get(K);G===void 0||G.body!==L||(G.fresh=!1,G.handle.setSkippable(!0))},invalidate:L=>{let K=u.get(L);if(!(K===void 0||K.body===null)){if(K.fresh){K.fresh=!1;return}K.handle.setSkippable(!1),b!==null&&b(K.body)}},attach:(L,K)=>{if(f!==null)throw new Error("[daily-report] the row pass is connected to a view's window already; disconnect it before connecting it again");let G=new L.MessageChannel,te="idle",ye=0,ie=null,J=null,re=[cf()],De=0,q=0,ne=re[0],Ct=new Float64Array(jn),Qe=0,It=0,st=new Float64Array(jn),pt=0,it=0,ht=0,$t=0,jt=0,Tt=0,C=Rf(UD,VD),N=0,B=n.appliedEpoch(),X=null;R=null,S=null;let ae=()=>{te!=="idle"||!W()||(te="arming",G.port1.postMessage(null))},me=()=>{te==="arming"&&(te="framing",ye=L.requestAnimationFrame(he))},Y=fe=>{let Oe=m[fe.sizing][fe.change];z(fe),sf(fe.apply),ne.reservoir=ne.units===0||ne.reservoir===Oe?Oe:null,ne.units+=1,i!==void 0&&ne.rows.push(fe.reportHubId)},oe=(fe,Oe)=>{ne.interval=fe;let He=V();if(He===null){Tt=0;return}let{zone:lt,paneReach:_t}=P,Ze=m[He.sizing][He.change].p90,Or=fe-ud-Oe;if(Ze===null?Oe>fe/2:Ze>Or&&Oe>ud){let Mr=lt<=Gn.reach;if(!_t&&(!Mr||Tt<KD)){i!==void 0&&i({type:"late-frame",frameTime:ne.frameTime}),Tt=Mr?Tt+1:0;return}i!==void 0&&i({type:"late-forced-frame",frameTime:ne.frameTime})}if(Tt=0,Y(He),Ze===null)return;let ur=FD*fe;if(Ze>ur){H($D);return}let Jt=Ze;for(let Mr=V();Mr!==null&&f===Cn;Mr=V()){let xa=m[Mr.sizing][Mr.change].p90;if(xa===null||Jt+xa>ur||Jt+xa>Or)return;Y(Mr),Jt+=xa}},Le=()=>{let fe=s();E=fe===null?null:fe.range,v=!1,fe!==null&&J!==null&&fe.position!==J&&(v=!0,_=fe.position>J?1:-1),J=fe===null?null:fe.position},F=(fe,Oe,He)=>{let lt=De;if(lt-q===re.length){let _t=Array.from({length:2*re.length},cf);for(let Ze=q;Ze<lt;Ze++)_t[Ze%_t.length]=re[Ze%re.length];re=_t}return De=lt+1,ne=re[lt%re.length],ne.frameTime=fe,ne.onTime=Oe,ne.start=He,ne.inputEpoch=ht,ne.units=0,ne.reservoir=null,ne.busy=null,ne.rows.length=0,lt},$=(fe,Oe)=>{pf(C,fe),N+=1,S=C.p50,i!==void 0&&i({type:"key-frame",frameTime:Oe,busy:fe,stepP50:S,samples:N,interval:R,limit:R===null?null:Xo(R)})},se=(fe,Oe,He)=>{let lt=He!==B;B=He,t()&<&&fe.units===0&&R!==null&&Oe>=qD(R)&&$(Oe,fe.frameTime)},he=fe=>{ye=0;let Oe=L.performance.now(),He=Oe-fe;st[it]=He,it=(it+1)%jn,pt=Math.min(pt+1,jn);let lt=fe+mf(st,pt),_t=n.appliedEpoch(),Ze=null;if(ie!==null){let ur=fe-ie.frameTime,{busy:Jt}=ie;Jt!==null&&Jt<=ur/2&&(Ct[It]=ur,It=(It+1)%jn,Qe=Math.min(Qe+1,jn),R=mf(Ct,Qe)),Ze=R,Jt===null&&se(ie,Oe-ie.onTime,_t)}Le(),A();let Or=ht!==$t||_t!==jt||n.pending();$t=ht,jt=_t;let Lt=F(fe,lt,Oe);if(ie=ne,Ze!==null&&!Or&&oe(Ze,Oe-lt),f===Cn){if(G.port2.postMessage(Lt),!W()){te="idle",ie=null,J=null,Tt=0,X=Lt;return}ye=L.requestAnimationFrame(he)}},ve=fe=>{let Oe=fe.data,He=re[Oe%re.length];q=Oe+1;let lt=n.appliedEpoch();jt=lt;let _t=L.performance.now(),Ze=Oe!==De-1;if(!Ze){let Jt=_t-He.onTime;He.busy=Jt,t()&&Oe!==X&<!==B&&He.units===0&&$(Jt,He.frameTime),B=lt}let{units:Or,reservoir:Lt}=He;if(Or===0)return;let ur=null;!Ze&&Lt!==null&&He.inputEpoch===ht&&(ur=(_t-He.start)/Or,pf(Lt,ur)),i!==void 0&&i({type:"unit-frame",frameTime:He.frameTime,units:Or,kind:Lt===null?null:Lt.kind,cost:ur,p50:Lt===null?null:Lt.p50,p90:Lt===null?null:Lt.p90,budget:Xo(He.interval),rows:He.rows.splice(0)})},Ke=()=>te==="framing"||h===0||w()?!1:(te="framing",ye=L.requestAnimationFrame(he),!0),Gt=()=>{if(t()){D=o(),jD(C),N=0,S=null;let fe=Ke();i!==void 0&&i({type:"hold-start",interval:R,listening:fe});return}i!==void 0&&i({type:"hold-end",interval:R,stepP50:S,samples:N}),ae()},Nr=()=>{ht+=1},Cn={wake:ae};G.port2.onmessage=me,G.port1.onmessage=ve,L.addEventListener("keydown",Nr,xs),L.addEventListener("keyup",Nr,xs),f=Cn,b=K;let ag=r(Gt);return ae(),()=>{ag(),L.removeEventListener("keydown",Nr,xs),L.removeEventListener("keyup",Nr,xs),ye!==0&&L.cancelAnimationFrame(ye),G.port1.onmessage=null,G.port2.onmessage=null,G.port1.close(),G.port2.close(),f=null,b=null,R=null,S=null}}}},Cs=yf(null),Qo=yf(null),fd=e=>{let t=cd(Cs);if(t===null)throw new Error(`[daily-report] ${e} is called outside a view's rows (no row pass)`);return t},bf=()=>fd("useViewGridId").gridId,Is=(e,t,r)=>{let n=fd("useRowPass"),o=ff(),[a,s]=kD(()=>({bodyReady:!0,rendered:t.read()}),t,c=>({bodyReady:o.getZone()==="visible",rendered:c.read()})),i=af(a),l=af(pd),d=md(c=>{let u=i.current,y=t.read();if(u.bodyReady&&Object.is(u.rendered,y)){l.current();return}let m=u.bodyReady?t.changesBox(u.rendered,y)?"box":"marks":"body";l.current=n.enqueue({reportHubId:e,handle:o,apply:s,sizing:r,change:m},c)},[n,e,o,t,r]);return id(()=>n.declareRow(r),[n,r]),id(()=>{let c=t.subscribe(()=>d("notification"));return()=>{c(),l.current()}},[t,d]),id(()=>{let c=i.current;if(i.current=a,d("commit"),r==="fixed")return n.declareBody(e,o,null);c!==a&&t.changesBox(c.rendered,a.rendered)&&n.invalidate(e)},[n,e,o,t,r,a,d]),a},Sf=e=>{let t=fd("useRowBodyDeclaration"),r=ff();return md(o=>t.declareBody(e,r,o),[t,e,r])},gf=()=>{let e=cd(Cs),t=cd(Qo);return md(()=>{e!==null&&t!==null&&e.invalidate(t)},[e,t])};import{clsx as XD}from"clsx";import{twMerge as QD}from"tailwind-merge";function I(...e){return QD(XD(e))}var We=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=I(e,n);return t.set(n,a),a}};import{useCallback as Ef,useMemo as ZD,useSyncExternalStore as JD}from"react";var Df="(prefers-reduced-motion: reduce)",wf=e=>Ge(e).matchMedia(Df).matches?"instant":"smooth",ew=Object.freeze({...Hl,startVelocityThreshold:Number.POSITIVE_INFINITY}),Yn=e=>e?ew:Hl,tw=()=>!1,rw=()=>{},qn=e=>{let t=ZD(()=>e===null?null:Ge(e).matchMedia(Df),[e]),r=Ef(o=>t===null?rw:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=Ef(()=>t===null?!1:t.matches,[t]);return JD(r,n,tw)};import{useSyncExternalStore as nw}from"react";import{jsx as yd}from"react/jsx-runtime";var _s=()=>{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)})}},Tf=16,ow=I(wu,"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"),aw=(e,t)=>e==="vertical"?{top:0,left:-Tf,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-Tf,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},Ls=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:s}=nw(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||s)?yd("div",{className:"pointer-events-none absolute flex items-center",style:aw(e,t),children:yd("div",{className:ow,children:yd("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};import{createContext as sw,useContext as iw,useLayoutEffect as lw,useRef as dw}from"react";var Rd=sw(null),Ns=({items:e,scroller:t,readTopReportId:r})=>{let n=iw(Rd),o=n===null?null:n.request,a=dw(o===null?0:o.seq);lw(()=>{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:nr(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 vc,useCallback as wn,useContext as _C,useEffect as ob,useLayoutEffect as ab,useMemo as Ro,useRef as Ac}from"react";var Os="Internal",cw=e=>e.trim().toLowerCase();var uw=e=>e===Os,fn=(e,t)=>e!=null&&typeof t=="string"&&t!==""&&e.userId===t&&uw(e.sourceType);var Ms="legacy-",pw=e=>`${Ms}${e}`,Af=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Me("mergeComments: unknownAuthorName","a non-blank string",n);let o=e.map((s,i)=>({id:pw(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]},vf=e=>{if(!e)return"text-gray-700 dark:text-gray-300";let t=e.toLowerCase();return t.includes("red")||t.includes("\u8D64")?"text-red-800 dark:text-red-300":t.includes("green")||t.includes("\u7DD1")?"text-green-900 dark:text-green-400":t.includes("blue")||t.includes("\u9752")?"text-blue-800 dark:text-blue-300":t.includes("yellow")||t.includes("\u9EC4")?"text-yellow-900 dark:text-yellow-400":t.includes("orange")||t.includes("\u6A59")?"text-orange-900 dark:text-orange-400":"text-gray-700 dark:text-gray-300"};var mw=Object.freeze(["subject","content","author","employeeName","updatedBy","category","creationCategory","customerName"]),Te=Object.freeze({field:e=>e,interviewer:(e,t)=>`interviewer:${e}:${t}`,attachment:e=>`attachment:${e}`,comment:(e,t)=>`comment:${e}:${t}`}),fw=e=>e.startsWith(Ms)?Pn(e.slice(Ms.length))!==null:Vp(e)!==null,Xn=e=>{if(mw.includes(e))return!0;let t=e.split(":");switch(t[0]){case"interviewer":return t.length===3&&Pn(t[1])!==null&&(t[2]==="name"||t[2]==="affiliation");case"attachment":return t.length===2&&Pn(t[1])!==null;case"comment":return t.length===3&&fw(t[1])&&(t[2]==="author"||t[2]==="content");default:return!1}},yw=16777619,Rw=2166136261,hw=(e,t,r,n)=>{let o=e;for(let a=r;a<n;a++)o^=t.charCodeAt(a),o=Math.imul(o,yw);return o>>>0},hd=e=>hw(Rw,e,0,e.length),bw=String.fromCodePoint(3),Sw=String.fromCodePoint(2),gw=String.fromCodePoint(1),xf=e=>hd(e.map(t=>t.map(r=>r.map(n=>`${n.tier}${n.text}`).join(bw)).join(Sw)).join(gw));import{createContext as Wy,useCallback as si,useEffect as Uy,useLayoutEffect as Vy,useMemo as Wd,useRef as Ud,useState as sr}from"react";import{z as _e}from"zod/v3";var Cf=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var gt=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",contentDigest:"contentDigest",commentId:"commentId"}),Ps=e=>{let t=new FormData;if(t.append(gt.intent,e.intent),e.intent==="clearCache"||(t.append(gt.clientTempId,e.clientTempId),e.businessDate!==null&&t.append(gt.businessDate,e.businessDate),e.operationTimestamp!==null&&t.append(gt.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return t;switch(t.append(gt.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&t.append(gt.title,e.changes.title),e.changes.content!==void 0&&t.append(gt.content,e.changes.content),t;case"publish":case"delete":return t;case"toggleStar":return t.append(gt.isStarred,String(e.value)),t;case"toggleRead":return t.append(gt.isRead,String(e.value)),e.value&&t.append(gt.contentDigest,e.contentDigest),t;case"addComment":return t.append(gt.content,e.content),t;case"deleteComment":return t.append(gt.commentId,String(e.commentId)),t}},Ew=()=>{let e=Xe,t=_e.string().regex($a),r=_e.literal("OK"),n=_e.object({isStarred:_e.boolean(),isRead:_e.boolean(),readContentDigest:_e.string().regex(Io).nullable()}),o=_e.number().int().nonnegative().nullable();return{create:_e.object({status:r,intent:_e.literal("create"),reportHubId:e,clientTempId:t,report:hr}),update:_e.object({status:r,intent:_e.literal("update"),reportHubId:e,clientTempId:t}),publish:_e.object({status:r,intent:_e.literal("publish"),reportHubId:e,clientTempId:t,report:hr.nullable()}),delete:_e.object({status:r,intent:_e.literal("delete"),reportHubId:e,clientTempId:t}),toggleStar:_e.object({status:r,intent:_e.literal("toggleStar"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),toggleRead:_e.object({status:r,intent:_e.literal("toggleRead"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),addComment:_e.object({status:r,intent:_e.literal("addComment"),reportHubId:e,clientTempId:t,newComment:xl}),deleteComment:_e.object({status:r,intent:_e.literal("deleteComment"),reportHubId:e,clientTempId:t,deletedCommentId:Xe}),clearCache:_e.object({status:r,intent:_e.literal("clearCache")})}},bd=null,Dw=()=>(bd===null&&(bd=Ew()),bd),If=(e,t)=>{let r=Dw()[e].safeParse(t);return r.success?{result:r.data}:{mismatch:qa(r.error)}};import{useState as vw}from"react";var ks=e=>{let t=e>>>0,r=(e-t)/4294967296|0;return Math.imul(t^Math.imul(r,1540483477),2654435761)>>>0},Tr=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=ks(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=ks(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=ks(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=ks(this.idAt(a))>>>n;for(;this.slots[s]!==-1;)s=s+1&r;this.slots[s]=a}}};var ww=e=>e.appended instanceof tr&&e.replaced.previous instanceof tr&&e.replaced.next instanceof tr&&e.removed instanceof tr,gd=e=>{if(ww(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`)},Fs=1,Hs=2,yn=3,_f=16,Tw=8192,Aw=Float64Array.BYTES_PER_ELEMENT+2*Uint32Array.BYTES_PER_ELEMENT+3*Uint8Array.BYTES_PER_ELEMENT,Sd=e=>{let t=new ArrayBuffer(e*Aw),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)}},Lf=Object.freeze({previous:Ut,next:Ut}),Ed=()=>{let e=0,t=Sd(_f),r=d=>t.ids[d],n=new Tr(r),o=()=>{let d=Sd(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 y=n.find(d);if(y===-1){let m=a(d,Fs);t.lastDates[m]=c,t.lastSources[m]=u;return}if(t.states[y]!==yn)throw new Error(`[daily-report] The ids stream list took report ${d}, which it already holds`);t.states[y]=Hs,t.lastDates[y]=c,t.lastSources[y]=u},i=(d,c,u,y,m)=>{let p=n.find(d);if(p===-1)p=a(d,Hs),t.firstDates[p]=c,t.firstSources[p]=u;else if(t.states[p]===yn)throw new Error(`[daily-report] The ids stream list changed report ${d}, which it no longer holds`);t.lastDates[p]=y,t.lastSources[p]=m},l=(d,c,u)=>{let y=n.find(d);if(y===-1){let m=a(d,yn);t.firstDates[m]=c,t.firstSources[m]=u;return}if(t.states[y]===Fs){n.delete(d),t.states[y]=0;return}if(t.states[y]===yn)throw new Error(`[daily-report] The ids stream list dropped report ${d}, which it no longer holds`);t.states[y]=yn};return{add:s,change:i,remove:l,fold:d=>{let{removed:c,appended:u,replaced:y}=gd(d),{previous:m,next:p}=y;for(let f=0;f<c.length;f++)l(c.ids[f],c.businessDateCodes[f],c.sourceTypeCodes[f]);for(let f=0;f<p.length;f++)i(p.ids[f],m.businessDateCodes[f],m.sourceTypeCodes[f],p.businessDateCodes[f],p.sourceTypeCodes[f]);for(let f=0;f<u.length;f++)s(u.ids[f],u.businessDateCodes[f],u.sourceTypeCodes[f])},isEmpty:()=>n.size===0,build:(d,c)=>{let u=0,y=0,m=0;for(let R=0;R<e;R++){let S=t.states[R];S===Fs?u+=1:S===Hs?y+=1:S===yn&&(m+=1)}let p=u+2*y+m;if(p===0)return{base:d,revision:c,appended:Ut,replaced:Lf,removed:Ut};let f=Un(p),b=0,h=u,D=h+y,g=D+y;for(let R=0;R<e;R++){let S=t.states[R];S===Fs?(f.ids[b]=t.ids[R],f.businessDateCodes[b]=t.lastDates[R],f.sourceTypeCodes[b]=t.lastSources[R],b+=1):S===Hs?(f.ids[h]=t.ids[R],f.businessDateCodes[h]=t.firstDates[R],f.sourceTypeCodes[h]=t.firstSources[R],h+=1,f.ids[D]=t.ids[R],f.businessDateCodes[D]=t.lastDates[R],f.sourceTypeCodes[D]=t.lastSources[R],D+=1):S===yn&&(f.ids[g]=t.ids[R],f.businessDateCodes[g]=t.firstDates[R],f.sourceTypeCodes[g]=t.firstSources[R],g+=1)}return{base:d,revision:c,appended:wr(f,0,u),replaced:y===0?Lf:{previous:wr(f,u,y),next:wr(f,u+y,y)},removed:wr(f,u+2*y,m)}},reset:()=>{if(e=0,t.ids.length<=Tw){n.clear();return}t=Sd(_f),n=new Tr(r)}}},Nf=(e,t,r)=>{let n=Ed();for(let o of e)n.fold(o);return n.build(t,r)},Of=(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 xw={items:gs,held:new Map,hidden:new Map,revision:null,settled:!1},Dd=(e,t,r)=>{let n=0,o=e.length;for(;n<o;){let a=n+o>>1;Kn(dn(e,a),zn(e,a),t,r)<0?n=a+1:o=a}return n<e.length&&dn(e,n)===t?n:-1},Bs=(e,t)=>Dd(e,t.reportHubId,rr(t.businessDate)),wd=(e,t,r,n)=>{let o=n,a=e.length;for(;o<a;){let s=o+a>>1;Kn(dn(e,s),zn(e,s),t,r)<=0?o=s+1:a=s}return o},Cw=(e,t)=>{if(t.length===0)return[];let r=e.length-1;if(e.length===0||Kn(dn(e,r),zn(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=wd(e,t.ids[a],t.businessDateCodes[a],o),n.push(o);return n},Iw=e=>{for(let t=1;t<e.length;t++)if(Kn(e.ids[t-1],e.businessDateCodes[t-1],e.ids[t],e.businessDateCodes[t])>=0)return!1;return!0},Pf=e=>{if(Iw(e))return e;let t=Array.from({length:e.length},(n,o)=>o);t.sort((n,o)=>Kn(e.ids[n],e.businessDateCodes[n],e.ids[o],e.businessDateCodes[o]));let r=new qt(e.length);for(let n of t)r.pushFrom(e,n);return r.build()},kf=(e,t,r,n)=>{let o=Mm(t.readRows()),a=new Tr(d=>o.ids[d]);for(let d=0;d<o.length;d++)a.set(o.ids[d],d);let s=new qt(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 y=e.held.get(u),m=y===void 0?Number.NEGATIVE_INFINITY:y.since;r&&u>0&&t.itemsRevision>m||(l.set(u,{item:y===void 0?Ss(u,d.businessDateCodes[c],d.sourceTypeCodes[c]):y.item,since:m}),s.pushFrom(d,c))}return{items:Fm(Pf(s.build())),held:l,hidden:i,revision:t.itemsRevision,settled:r}},_w=(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?[]:Of(t.itemsChanges,o);if(o===null||a===null)return kf(e,t,r,n);let s=e.items,i=[],l=[],d=a.length===0?null:a.length===1?gd(a[0]):Nf(a,o,t.itemsRevision),c=new qt(d===null?0:d.appended.length+d.replaced.next.length),u=null,y=()=>(u===null&&(u=new Map(e.held)),u),m=null,p=()=>(m===null&&(m=new Map(e.hidden)),m);if(d!==null){let{appended:D,replaced:g,removed:R}=d;for(let E=0;E<R.length;E++){let v=R.ids[E];if(e.hidden.has(v)&&p().delete(v),e.held.has(v))continue;let _=Dd(s,v,R.businessDateCodes[E]);_!==-1&&(r||n.has(v)?i.push(_):y().set(v,{item:Ss(v,zn(s,_),od(s,_)),since:Number.NEGATIVE_INFINITY}))}let S=(E,v,_)=>{let O=E.ids[v],M=E.businessDateCodes[v],P=E.sourceTypeCodes[v],H=e.held.get(O);H!==void 0&&y().delete(O);let T=H===void 0?_:rr(H.item.businessDate),w=T===-1?-1:Dd(s,O,T);if(n.has(O)){w!==-1&&i.push(w),p().set(O,E.itemAt(v));return}if((m===null?e.hidden:m).has(O)&&p().delete(O),w!==-1&&zn(s,w)===M){od(s,w)!==P&&l.push({index:w,id:O,businessDateCode:M,sourceTypeCode:P});return}w!==-1&&i.push(w),c.push(O,M,P)};for(let E=0;E<g.next.length;E++)S(g.next,E,g.previous.businessDateCodes[E]);for(let E=0;E<D.length;E++)S(D,E,-1)}let f=t.itemsRevision;if(r)for(let[D,g]of u===null?e.held:u){if(D<=0||f<=g.since)continue;let R=Bs(s,g.item);R!==-1&&i.push(R),y().delete(D)}let b=Pf(c.build());return{items:$n(s,{removals:i,replacements:l,additions:b,insertions:Cw(s,b)}),held:u===null?e.held:u,hidden:m===null?e.hidden:m,revision:f,settled:r}},Mf=new WeakMap,Lw=(e,t,r,n)=>{let o=Mf.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=_w(e,t,r,n);return Mf.set(e,{revision:t.itemsRevision,changes:t.itemsChanges,settled:r,tombstones:n,rows:a}),a},Ff=(e,t,r)=>{let[n,o]=vw(()=>kf(xw,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>Lw(a,e,t,r)),[n,o]},Us=(e,t,r)=>{if(e.hidden.has(t.reportHubId))return Td(e,t.reportHubId);if(e.held.has(t.reportHubId)||Bs(e.items,t)!==-1||Yo(e.items,t.reportHubId)!==-1)return e;let n=$n(e.items,{...cn,additions:Zl([t]),insertions:[wd(e.items,t.reportHubId,rr(t.businessDate),0)]}),o=new Map(e.held);return o.set(t.reportHubId,{item:t,since:r}),{...e,items:n,held:o}},Td=(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:$n(e.items,{...cn,additions:Zl([r]),insertions:[wd(e.items,r.reportHubId,rr(r.businessDate),0)]}),hidden:n}},Rn=(e,t)=>{let r=e.held.get(t);if(r===void 0)return e;let n=Bs(e.items,r.item),o=new Map(e.held);return o.delete(t),{...e,items:$n(e.items,n===-1?cn:{...cn,removals:[n]}),held:o}},Hf=(e,t)=>{let r=e.held.get(t.reportHubId),n=Bs(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:$n(e.items,n===-1?cn:{...cn,removals:[n]}),held:o}},Bf=e=>({...e,revision:null});import{useSyncExternalStore as Nw}from"react";var Vs=e=>{let t=rt(e);return Nw(t.subscribe,t.isPaused,t.isPaused)};import{startTransition as jw,useLayoutEffect as Gw,useState as Yw,useSyncExternalStore as ta}from"react";var Uf=e=>{let t=new URLSearchParams;return e.cursor!==null&&(t.set(Ue.cursorReportHubId,String(e.cursor.reportHubId)),e.cursor.businessDate!==null&&t.set(Ue.cursorBusinessDate,e.cursor.businessDate)),e.snapshot!==null&&t.set(Ue.cursorSnapshot,e.snapshot),e.forceRefresh&&t.set(Ue.forceRefresh,"true"),t};var Zo=1,Ow=2,Mw=1024,Qn=1024,Ws=class{constructor(){this.used=0;this.holes=0;this.ids=new Float64Array(Qn);this.dates=new Uint32Array(Qn);this.sources=new Uint8Array(Qn);this.flags=new Uint8Array(Qn);this.positions=new Tr(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:Dr(this.dates[t]),sourceType:ln(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]=Zo,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>=Mw&&this.holes>this.positions.size&&this.compact()}markSeen(t){let r=this.positions.find(t);r!==-1&&(this.flags[r]|=Ow)}clearSeen(){for(let t=0;t<this.used;t++)this.flags[t]&=Zo}unseenIds(){let t=[];for(let r=0;r<this.used;r++)this.flags[r]===Zo&&t.push(this.ids[r]);return t}rows(){let t=new qt(this.positions.size);for(let r=0;r<this.used;r++)(this.flags[r]&Zo)!==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]&Zo)!==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(Qn,t*4)&&this.resize(Math.max(Qn,t*2))}};var Vf=()=>{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 Pw=e=>({debug:e,info:e,warn:e,error:e}),kw=50,Fw=32,Wf=0,Hw=()=>(Wf+=1,Wf),Bw=1e3,Uw=3e4,Vw=6,Ww=3e4,zf=Symbol("read-stall"),zw=Object.freeze({reading:()=>{},stalled:()=>!1,stop:()=>{}}),Kw="/daily_report/api",$w=e=>typeof e=="object"&&e!==null&&e.name==="AbortError",zs=class{constructor(t={}){this.rows=new Ws;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.paused=!1;this.revalidationInterrupted=!1;this.wakeRetryWait=null;this.handleOnline=()=>this.wakeRetryWait?.();this.publishCoalesceTimer=null;this.lastItemsPublishAt=Number.NEGATIVE_INFINITY;this.pendingItemsChange=Ed();this.apiBasePath=t.apiBasePath??Kw,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=bt(t.warn===void 0?void 0:Pw(t.warn),1,"IdsStream").warn,this.readStallTimeoutMs=t.readStallTimeoutMs??Ww,this.publishCoalesceMs=t.publishCoalesceMs??kw,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.paused||this.state.phase!=="failed"||(this.consecutiveFailures=0,this.runStreamLoop({revalidate:this.state.hasCompletedOnce,forceRefresh:!1}))}refresh(t={}){if(!(this.disposed||this.paused)){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||this.paused)){if(this.state.phase==="streaming"||this.state.phase==="retrying"){this.pendingForceRefresh=!0;return}this.refresh({forceRefresh:!0})}}pause(){if(!(this.disposed||this.paused||(this.paused=!0,!(this.state.phase==="streaming"||this.state.phase==="retrying"||this.state.isRevalidating)))){if(this.loopGeneration+=1,this.activeAbortController?.abort(),this.wakeRetryWait?.(),this.state.isRevalidating&&this.state.hasCompletedOnce){this.revalidationInterrupted=!0,this.publish({isRevalidating:!1});return}this.publish({phase:"auth-required",isRevalidating:!1})}}resume(){if(!(this.disposed||!this.paused)){if(this.paused=!1,this.consecutiveFailures=0,this.state.phase==="auth-required"){if(this.state.hasCompletedOnce){this.revalidationInterrupted=!1,this.publish({phase:"complete"}),this.refresh();return}this.runStreamLoop({revalidate:!1,forceRefresh:!1});return}this.revalidationInterrupted&&(this.revalidationInterrupted=!1,this.refresh())}}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,rr(t.businessDate),jo(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 qt(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.paused=!0,this.publish({phase:"auth-required",isRevalidating:!1});return}if(n.kind==="refused"){this.pendingForceRefresh=!1,this.publish(t.revalidate&&this.state.hasCompletedOnce?{isRevalidating:!1,error:n.error}:{phase:"failed",isRevalidating:!1,error:n.error});return}if(this.consecutiveFailures+=1,this.consecutiveFailures>=Vw){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(Bw*2**(this.consecutiveFailures-1),Uw))}}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===zf)return r.abort(),{kind:"retryable",error:new Error("Stream stalled: no response headers within timeout")};if(o.status===401)return{kind:"auth-required"};if(o.status===403)return{kind:"refused",error:new Error("ids stream HTTP 403 (refused)")};if(!(o.ok&&o.body))return{kind:"retryable",error:new Error(`ids stream HTTP ${o.status}`)};let a=o.body.getReader(),s=Vf(),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),y=!1,m=!1;for(let p of u){if(p.trim()==="")continue;let f;try{f=JSON.parse(p)}catch{m=!0;break}let b=Ll(f);if(b==="unknown"){this.warn("skipped line of unknown kind");continue}if(b==="error"){l=!0;continue}let h=Op(f);if(h===null){m=!0;break}y=this.absorbChunkLine(h)||y,h.total!==null&&h.total!==this.state.totalCount&&this.publish({totalCount:h.total}),h.resumeCursor!==null&&(this.lastCursor=h.resumeCursor),h.isLast&&(d=!0)}if(y&&(this.consecutiveFailures=0,this.schedulePublishItems()),m)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 $w(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(zf),this.readStallTimeoutMs*3);t.then(a=>{this.clearTimeoutFn(o),r(a)},a=>{this.clearTimeoutFn(o),n(a)})})}watchReadSilence(t){if(this.readStallTimeoutMs<=0)return zw;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=rr(null),s,i=jo(void 0),l=(d,c,u)=>{this.externalRemovalTombstones.has(d)||(c!==o&&(o=c,a=rr(c)),u!==s&&(s=u,i=jo(u)),this.putItem(d,a,i)&&(n=!0),r||this.rows.markSeen(d))};return Mp(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=Hw(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange.reset(),{loadedCount:this.rows.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-Fw),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=Uf({cursor:this.lastCursor,snapshot:this.lastCursor===null?null:this.lastSnapshot,forceRefresh:t}).toString();return`${this.apiBasePath}/${Ya}${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 qw=6e4,be=null,Kf=!1,Jo=new Set,Ks={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},Ad=()=>{for(let e of Jo)e()},vd=()=>{be&&(be.unsubscribe(),be.client.dispose(),be=null,Ad())},ea=e=>{if(typeof window>"u")return;let t=e.apiBasePath??Bo.apiBasePath;if(be&&(be.userKey!==e.userKey||be.apiBasePath!==t)&&(be.userKey!==e.userKey&&zo(),vd()),!be){let r=new zs({apiBasePath:t});be={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(Ad)},Xw(),r.start(),Ad();return}js(be)},js=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>qw&&e.client.refresh()},Xw=()=>{if(Kf||typeof document>"u"||typeof window>"u")return;Kf=!0;let e=()=>{be&&js(be)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},xd=e=>{if(!(typeof window>"u")){if(!be){ea(e);return}if(be.userKey!==e.userKey){zo(),vd(),ea(e);return}js(be)}},Cd=()=>{typeof window>"u"||!be||js(be)},Zn=e=>{be?.client.applyExternalUpsert(e)},Jn=e=>{be?.client.applyExternalRemoval(e)},jf=e=>be===null?!1:be.client.has(e),Gf=()=>be===null?Ut:be.client.readRows(),Id=()=>be===null?0:be.client.getState().itemsRevision,Gs=()=>{be?.client.retry()},Ys=()=>{be?.client.resync()},Yf=()=>{be?.client.pause()},qf=()=>{be?.client.resume()},ra=(e={})=>{be?.client.refresh(e)},Xf=()=>be?.userKey,na=e=>(Jo.add(e),()=>Jo.delete(e)),$s=()=>be?.client.getState()??Ks,Qw=()=>Ks,Zw=()=>ta(na,$s,Qw),qs=(e,t)=>{let r=Ks,n=e(Ks);return()=>{let o=$s();if(o===r)return n;let a=e(o);return r=o,t(n,a)||(n=a),n}},Qf=qs(({phase:e,hasCompletedOnce:t,isRevalidating:r,error:n,streamAnchor:o,loadedCount:a})=>({phase:e,hasCompletedOnce:t,isRevalidating:r,error:n,streamAnchor:o,hasItems:a>0}),(e,t)=>e.phase===t.phase&&e.hasCompletedOnce===t.hasCompletedOnce&&e.isRevalidating===t.isRevalidating&&e.error===t.error&&e.streamAnchor===t.streamAnchor&&e.hasItems===t.hasItems),Jw=Qf(),eo=()=>ta(na,Qf,()=>Jw),Zf=qs(({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),eT=Zf(),Jf=()=>ta(na,Zf,()=>eT),ey=qs(({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),tT=ey(),ty=()=>ta(na,ey,()=>tT),ry=qs(({phase:e,totalCount:t})=>({phase:e,totalCount:t}),(e,t)=>e.phase===t.phase&&e.totalCount===t.totalCount),rT=ry(),ny=()=>ta(na,ry,()=>rT),oy=e=>e.phase==="complete"&&!e.isRevalidating,$f=e=>`${e.itemsRevision}:${oy(e)}`,ay=()=>{let[,e]=Yw(0),t=$s(),r=$f(t);return Gw(()=>{let n=r,o=()=>{let a=$f($s());a!==n&&(n=a,jw(()=>e(s=>s+1)))};return Jo.add(o),o(),()=>{Jo.delete(o)}},[]),{itemsRevision:t.itemsRevision,itemsChanges:t.itemsChanges,readRows:Gf,settled:oy(t)}};import.meta.hot?.dispose(vd);var Xs=(e,t,r)=>{if(!Number.isFinite(e)||e<=0)throw Me("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 nT=3e4,sy=e=>{let t=Xs(nT,e,()=>{});return{add:r=>t.add(r,!0),has:r=>t.get(r)===!0}},to=(e,t)=>e.has(t)?e:new Set(e).add(t),iy=(e,t)=>{if(!e.has(t))return e;let r=new Set(e);return r.delete(t),r},ly=new Set,dy=()=>new Set,cy=()=>new Map,uy=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()}}}},py=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 _d=0,Ld=e=>{let t=tt("drawTemporaryId: nowMs",e,1);return _d=Math.min(-t,_d-1),_d};var Ar=(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 Nd=bt(void 0,1,"ActionProvider"),oT=1e3,oa=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportActionHttpError",this.status=r}},Od=class extends Error{constructor(t){super(`[daily-report] ${t} was not sent: the session ended and the host has not confirmed a new one`),this.name="DailyReportSessionPausedError"}},ok=Object.freeze(["delete","deleteComment"]),aT=e=>e.intent==="create"?null:e.reportHubId,sT=(e,t)=>{let r=e;if(r.intent==="clearCache"||r.clientTempId!==t.clientTempId)return!1;let n=aT(t);return n===null||r.reportHubId===n},iT="0".repeat(64),my=e=>{let{apiBasePath:t,labels:r,user:n,items:o,sessionGate:a,isSessionStillOurs:s,ownEchoIds:i,ledgers:l,writeLedgers:d,pendingAddPromises:c,removedIds:u,searchRemovedIds:y,setRemovedVersion:m,setRows:p,drafts:f,invalidateSearch:b,announceDataChange:h,notifyError:D}=e,g=async(T,w,A={})=>{let{intent:x}=T;if(a.isPaused())throw new Od(x);let U=a.period(),{onGone:k}=w,{lockedReportHubId:V}=A,j=V===void 0?null:bm(V);w.onOptimistic?.(),i.add(T.clientTempId);let W=()=>{if(!s())throw Nd.warn(`[executeAction] ${x} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${x}`)};try{let z=await fetch(`${t}/${je.action}`,{method:"POST",body:Ps(T),headers:{Accept:"application/json"}});if(z.status===404&&k!==void 0)return W(),k();if(z.status===401)throw a.reportSessionEnd("write",U),new oa(x,z.status);if(!z.ok)throw new oa(x,z.status);let de=If(x,await z.json());if("mismatch"in de)throw new Error(`[daily-report] ${x} answered a body that is not its result (${de.mismatch})`);let{result:ge}=de;if(!sT(ge,T))throw new Error(`[daily-report] ${x} answered another request`);return W(),w.onSuccess(ge)}catch(z){if(Nd.error(`${x} failed:`,z),s()){w.onFailure?.();let de=z instanceof oa?z.status:null;de===403?D({operation:x,reason:"refused",message:r.operationRefused(x),cause:z}):de!==401&&D({operation:x,reason:"failed",message:r.operationFailed(x),cause:z})}throw z}finally{j?.()}},R=(T,w,A)=>({reportHubId:T,clientTempId:A,businessDate:typeof w=="string"?w:null,operationTimestamp:Date.now()});return{addComment:async(T,w,A)=>{let x=Ld(Date.now()),U=g({...R(T,A,String(x)),intent:"addComment",content:w},{onOptimistic:()=>{d(({pendingAddCommentIds:k})=>{let V=k.get(T);V===void 0?k.set(T,new Map([[x,w]])):V.set(x,w)})},onSuccess:({newComment:k})=>{let V=k.id;d(({resolvedIdMap:W,pendingAddCommentIds:z})=>{W.set(x,V),z.get(T)?.delete(x)}),b();let j=St(T,{ignoreExpiry:!0});return j&&!j.postedComments.some(W=>W.id===V)&&Bt(T,{postedComments:[...j.postedComments,{...k,isMine:!0,userName:Ar(n,r.unknownUser)}]}),V},onFailure:()=>{d(({pendingAddCommentIds:k})=>k.get(T)?.delete(x))}}).finally(()=>c.current.delete(x));c.current.set(x,U),await U},deleteComment:async(T,w,A)=>{d(({pendingDeleteCommentIds:k})=>{let V=k.get(T);V===void 0?k.set(T,new Set([w])):V.add(w)});let x=w;if(w<0){let k=l.resolvedIdMap.current.get(w);if(k!==void 0)x=k;else{let V=c.current.get(w);if(!V)return;try{x=await V}catch{return}}}let U=()=>{let k=St(T,{ignoreExpiry:!0});k&&(Bt(T,{postedComments:k.postedComments.filter(V=>V.id!==x)}),gm(x)),d(({pendingDeleteCommentIds:V})=>V.get(T)?.delete(w)),b()};await g({...R(T,A,crypto.randomUUID()),intent:"deleteComment",commentId:x},{onSuccess:U,onGone:U,onFailure:()=>{d(({pendingDeleteCommentIds:k})=>k.get(T)?.delete(w))}})},toggleStar:async(T,w,A)=>{await g({...R(T,A,crypto.randomUUID()),intent:"toggleStar",value:w},{onOptimistic:()=>{Bt(T,{isStarred:w}),d(({pendingStarUpdates:x})=>x.set(T,w))},onSuccess:({updatedStatus:x})=>{St(T,{ignoreExpiry:!0})&&(Bt(T,{isStarred:x.isStarred}),h()),d(({pendingStarUpdates:U})=>U.delete(T))},onFailure:()=>{Bt(T,{isStarred:!w}),d(({pendingStarUpdates:x})=>x.delete(T))}})},toggleRead:async(T,w,A)=>{let x=ip(w),U=St(T,{ignoreExpiry:!0}),k=U?{isRead:U.isRead,readContentDigest:U.readContentDigest}:null,V=R(T,A,crypto.randomUUID());await g(w.isRead?{...V,intent:"toggleRead",value:!0,contentDigest:w.contentDigest}:{...V,intent:"toggleRead",value:!1},{onOptimistic:()=>{Bt(T,x),d(({pendingReadUpdates:j})=>j.set(T,x))},onSuccess:({updatedStatus:j})=>{St(T,{ignoreExpiry:!0})&&(Bt(T,{isRead:j.isRead,readContentDigest:j.readContentDigest}),h()),d(({pendingReadUpdates:W})=>W.delete(T))},onFailure:()=>{k!==null&&Bt(T,k),d(({pendingReadUpdates:j})=>j.delete(T))}})},createReport:async T=>{let w=Ld(Date.now()),A=new Date().toISOString(),x={reportHubId:w,date:T,createdAt:A,author:Ar(n,r.unknownUser),userId:n===void 0?null:n.id,sourceType:Os,employeeName:Ar(n,r.unknownUser),updatedBy:Ar(n,r.unknownUser),updatedAt:A,category:null,creationCategory:null,visitTimeFrom:null,visitTimeTo:null,customerName:null,interviewers:[],subject:"",content:"",externalComments:[],isRead:!0,isStarred:!1,contentDigest:iT,readContentDigest:null,isDraft:!0,labels:[],postedComments:[],attachments:[]};hm(x,Date.now()+3e5,!1),p(U=>Us(U,{reportHubId:w,businessDate:T},Number.NEGATIVE_INFINITY));try{let U=await g({intent:"create",clientTempId:String(w),businessDate:T,operationTimestamp:Date.now()},{onSuccess:j=>j.report}),k=U.reportHubId,V=Id();return Zn({reportHubId:k,businessDate:T}),Sm(k,oT),Er(k,U),h(),b(),p(j=>Us(Rn(j,w),{reportHubId:k,businessDate:T},V)),k}catch(U){throw Nd.error("[createReport] Failed",U),p(k=>Rn(k,w)),U}},updateReport:async(T,w,A)=>{await g({...R(T,A,crypto.randomUUID()),intent:"update",changes:{title:w.title,content:w.content}},{onSuccess:()=>{St(T,{ignoreExpiry:!0})&&(Bt(T,{subject:w.title,content:w.content}),h()),b()}},{lockedReportHubId:T})},publishReport:async(T,w)=>{let A=St(T,{ignoreExpiry:!0});await g({...R(T,w,crypto.randomUUID()),intent:"publish"},{onOptimistic:()=>{A&&(Bt(T,{isDraft:!1}),h())},onSuccess:({report:x})=>{x!==null&&(Er(T,x),h()),w!==void 0&&Zn({reportHubId:T,businessDate:w}),b()},onFailure:()=>{A&&(Bt(T,{isDraft:A.isDraft}),h())}})},deleteReport:async(T,w)=>{let A=Bm(o,T);u.current=to(u.current,T),y.current.add(T),m(U=>U+1),Jn(T),A!==void 0&&p(U=>Hf(U,A));let x=()=>{ms(T,w),f.discard(T),b()};try{await g({...R(T,w,crypto.randomUUID()),intent:"delete"},{onSuccess:x,onGone:x},{lockedReportHubId:T})}catch(U){if(!s())return;u.current=iy(u.current,T),y.current.delete(T),m(j=>j+1);let k=A===void 0?w:A.businessDate,V=Id();throw k!==void 0&&Zn({reportHubId:T,businessDate:k}),p(j=>{let W=Td(j,T);return A===void 0?W:Us(W,A,V)}),U}}}};var fy=bt(void 0,1,"ActionProvider"),lT=3e4,yy=e=>Xs(lT,e,(t,r)=>{r.unsubscribe(),fy.warn(`[SSE Queue] Expired: reportHubId=${t}, dropped=${r.messages.length} messages`)}),dT=(e,t)=>{t!==void 0&&Zn({reportHubId:e,businessDate:t})},Ry=e=>{let{user:t,userId:r,labels:n,isSessionStillOurs:o,ownEchoIds:a,ledgers:s,writeLedgers:i,removedIds:l,searchRemovedIds:d,setRemovedVersion:c,setRows:u,drafts:y,invalidateSearch:m,announceDataChange:p,pendingSseQueue:f,replay:b}=e,h=(g,R)=>{let S=f.get(g);if(S!==void 0){S.messages.push(R);return}let E;E={messages:[R],unsubscribe:Em(g,()=>{if(f.get(g)===E&&St(g,{ignoreExpiry:!0})){f.remove(g),E.unsubscribe(),fy.info(`[SSE Queue] Replaying ${E.messages.length} messages for reportHubId=${g}`);for(let _ of E.messages)b(_)}})},f.add(g,E)};return g=>{if(o()&&!a.has(g.clientTempId))switch(g.type!=="status-update"&&m(),g.type){case"comment-add":{let{comment:R,reportHubId:S}=g,E=St(S,{ignoreExpiry:!0});if(E){if(E.postedComments.some(M=>M.id===R.id))return;let v=typeof r=="string"&&R.userId===r,_={...R,userName:R.userName||(v?Ar(t,n.unknownUser):n.unknownUser),createdAt:R.createdAt||new Date().toISOString(),isMine:v},O={...E,postedComments:[...E.postedComments,_].sort((M,P)=>new Date(M.createdAt||0).getTime()-new Date(P.createdAt||0).getTime())};Er(S,O),Kl(S),p()}else h(S,g);break}case"comment-delete":{let{commentId:R,reportHubId:S}=g,E=St(S,{ignoreExpiry:!0});if(E){let v={...E,postedComments:E.postedComments.filter(_=>_.id!==R)};Er(S,v),Kl(S),p()}else h(S,g);break}case"status-update":{let{statusType:R,value:S,reportHubId:E,readContentDigest:v}=g,_=St(E,{ignoreExpiry:!0});if(R==="star")if(s.pendingStarUpdates.current.get(E)===S&&i(({pendingStarUpdates:O})=>O.delete(E)),_){let O={..._,isStarred:S,readContentDigest:v};Er(E,O),p()}else h(E,g);else if(R==="read"){let O=s.pendingReadUpdates.current.get(E);if(O!==void 0&&O.isRead===S&&O.readContentDigest===v&&i(({pendingReadUpdates:M})=>M.delete(E)),_){let M={..._,isRead:S,readContentDigest:v};Er(E,M),p()}else h(E,g)}break}case"report-delete":{let{reportHubId:R}=g;l.current=to(l.current,R),d.current.add(R),c(E=>E+1),Jn(R),u(E=>Rn(E,R)),y.discard(R),f.remove(R)?.unsubscribe();let S=St(R,{ignoreExpiry:!0});S?.date&&(ms(R,S.date),p());break}case"report-create":case"report-update":case"report-publish":{let{report:R}=g;g.viewerIsActor?Er(R.reportHubId,R):Dm(R),(g.type==="report-create"||g.type==="report-publish")&&dT(R.reportHubId,R.date),p();break}}}};import{memo as hT,useLayoutEffect as bT}from"react";import{systemSseRuntime as Qs}from"@aiquants/sse";import{createBrowserEventSource as cT}from"@aiquants/sse/client";import{useReopeningEventSource as uT}from"@aiquants/sse/react";import{useEffect as Zs,useLayoutEffect as pT,useRef as Js,useState as mT}from"react";var hn=bt(void 0,1,"SseConnection"),fT=Object.freeze({kind:"resyncing"}),hy={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},yT=1,by=vl*3,RT=by+vl,Md=({isSseEnabled:e,onMessage:t,onSessionEnded:r,onRefused:n})=>{let{ssePath:o}=Q(),{streamAnchor:a,phase:s,isRevalidating:i,error:l}=eo(),[d,c]=mT({generation:0,minAnchorRevision:1,anchored:!1}),u=d.generation>0&&!d.anchored,y=u&&s==="complete"&&!i?l:null,m=Js(0),p=Js(null),f=Js(!1),b=Ve(()=>({onSessionEnded:r,onRefused:n}));pT(()=>{b.current={onSessionEnded:r,onRefused:n}});let h=Js(0);h.current=a===null?0:a.revision,Zs(()=>{d.anchored||a===null||a.revision<d.minAnchorRevision||(p.current=a.lastEventId,m.current=0,c({...d,anchored:!0}))},[d,a]),Zs(()=>{if(!e||y===null)return;let{initialDelayMs:g,maxDelayMs:R,multiplier:S}=hy,E=Qs.random()*Math.min(R,g*S**m.current);hn.warn(`SSE resync: the ids rescan gave up (${y.message}); rescanning in ${Math.round(E)} ms`);let v=Qs.setTimer(()=>{m.current+=1,Ys()},E);return()=>Qs.clearTimer(v)},[e,y]),Zs(()=>{e||!f.current||(f.current=!1,c(g=>({...g,generation:g.generation+1})))},[e]);let{status:D}=uT(e&&d.anchored?`${o}#${d.generation}`:null,{resolveUrl:({lastEventId:g})=>g===null?o:`${o}?${vp}=${encodeURIComponent(g)}`,initialLastEventId:p.current,withCredentials:!1,createEventSource:cT,runtime:Qs,backoff:hy,healthyOpenMs:RT,nativeRetryLimit:yT,giveUpAfterFailures:"never",terminalEvents:Ap,heartbeat:{staleAfterMs:by,onHeartbeat:null},events:{message:g=>{g.lastEventId!==""&&(ja(g.lastEventId)?p.current=g.lastEventId:hn.warn("SSE event carried a malformed id; keeping the previous cursor:",g.lastEventId));try{let R=JSON.parse(g.data),S=Np.safeParse(R);if(!S.success){hn.error("SSE Validation Error:",S.error.flatten(),"raw message:",R);return}if(S.data.type==="connected"){hn.info("SSE Subscribe Ready");return}t(S.data)}catch(R){hn.error("SSE Parse Error",R)}}}});return Zs(()=>{if(D.kind==="faulted"){hn.error("SSE connection faulted:",D.error);return}if(D.kind==="terminated")switch(D.terminalEvent){case"auth-required":f.current=!0,b.current.onSessionEnded();return;case"forbidden":hn.warn("SSE stopped: the viewer is not registered (forbidden)"),b.current.onRefused();return;case"resync-required":{let g=h.current+1;c(R=>({generation:R.generation+1,minAnchorRevision:g,anchored:!1})),Ys();return}}},[D,b]),e&&u?fT:D};var Sy=Object.freeze({kind:"idle"}),Pd=hT(({isSseEnabled:e,onMessage:t,onSessionEnded:r,onRefused:n,onStatus:o})=>{let a=Md({isSseEnabled:e,onMessage:t,onSessionEnded:r,onRefused:n});return bT(()=>{o(a)},[a,o]),null});Pd.displayName="DailyReportSseConnectionHost";import{createContext as ST,useCallback as gT,useSyncExternalStore as gy}from"react";var Ey=()=>{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)}}},kd=ST(null),$r=()=>Yt(kd,"useDailyReportDraftStore","DailyReportActionProvider"),Dy=(e,t)=>gT(r=>e.subscribe(t,r),[e,t]),ei=e=>{let t=$r(),r=()=>t.modeOf(e);return gy(Dy(t,e),r,r)},wy=e=>{let t=$r(),r=()=>t.inputOf(e),n=gy(Dy(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 LT}from"@aiquants/swipe-overlay";import{createContext as NT,Fragment as OT,useCallback as oi,useId as Hd,useLayoutEffect as Fy,useMemo as MT,useRef as bn,useState as Oy}from"react";import{createPortal as My}from"react-dom";import{createContext as wT,useContext as TT}from"react";var ET=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),ti={capture:!0},ri=new WeakMap,DT=e=>{let t=o=>{ET.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,ti),e.removeEventListener("pointerdown",r,ti)}};return e.addEventListener("keydown",t,ti),e.addEventListener("pointerdown",r,ti),n},Ty=e=>{let t=ri.get(e),r=t===void 0?DT(e):t;t===void 0&&ri.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),ri.delete(e)))}},aa=e=>{let t=ri.get(e);return t===void 0?null:t.last};var AT=Object.freeze({visibilityProperty:!0,opacityProperty:!0}),vT=Object.freeze({visibilityProperty:!0}),Ay="data-daily-report-view-tabs",vy={[Ay]:""},xy="data-daily-report-status-panel",Cy={[xy]:""},xT=e=>{for(let t of e.getClientRects())if(t.width>0&&t.height>0)return!0;return!1},Iy=e=>e.isConnected&&$o(e)&&xT(e)&&e.checkVisibility(e.hasAttribute(ws)?vT:AT),vr=e=>{for(let t of e)if(!(t===null||!Iy(t))&&(t.focus({preventScroll:!0}),nt(t)===t))return t;return null},CT=e=>e.querySelector(`[${Ay}] [role="tab"][aria-selected="true"]`),Fd=wT(null),_y=()=>{let e=TT(Fd);if(e===null)throw new Error("[daily-report] useFocusViewRow is called outside a view's rows");return e},IT=(e,t,r)=>{if(sn(e))return!0;if(r==="handOver")return!1;let n=nt(e);return n===null||!e.contains(n)?!1:r==="overlay"||n!==t},Ly=(e,t,r)=>{if(r!=="pointer"||t===null)return e;let n=Xm(t);return n!==null&&Iy(n)?n:e},Ny=(e,t,r,n)=>IT(e,t,n)?vr([Ly(t,r,aa(e.ownerDocument))]):null,_T=e=>{let t=e.getAttribute("aria-activedescendant");return t===null?null:e.ownerDocument.getElementById(t)},ni=e=>{let t=qm(e);return[t===null?null:Ly(t,_T(t),aa(t.ownerDocument)),CT(e),e.querySelector(`[${xy}]`)]};import{jsx as ar,jsxs as By}from"react/jsx-runtime";var PT=I("motion-safe:fade-in motion-safe:slide-in-from-bottom-2 flex w-fit min-w-0 max-w-full items-center gap-2 rounded-lg border border-red-300 border-solid bg-red-800 px-[15px] py-[7px] text-sm text-white shadow-lg motion-safe:animate-in motion-safe:duration-200 dark:border-red-500/60",Fr),kT="flex shrink-0 justify-center p-[8px]",FT=I("flex size-6 shrink-0 items-center justify-center rounded font-bold text-white hover:bg-red-900",Ru),HT="data-daily-report-notice-alert",BT={[HT]:""},Hy=NT(null),ai=()=>Yt(Hy,"useDailyReportErrorSurface","DailyReportErrorProvider"),Py=Object.freeze([]),ky=({notice:e})=>ar("div",{role:"alert",...BT,className:"sr-only",children:e===null?null:ar("span",{children:e.info.message},e.occurrence)}),UT=({notice:e,closeLabel:t,repeatedLabel:r,onDismiss:n})=>{let o=bn(null),a=bn(null),s=bn(null),i=LT(),l=Hd(),d=Hd(),c=Hd(),u=e.repeat>1?`${d} ${c}`:d,y=oi(()=>{let f=o.current;if(f?.contains(f.ownerDocument.activeElement)){let[b,...h]=ni(f.ownerDocument);vr([a.current,b,f.closest("dialog"),...h])}n()},[n]),m=f=>{if(s.current!==null)return;let b=f.relatedTarget;a.current=Pe(b)&&!f.currentTarget.contains(b)?b:null,s.current=i({id:l,onEscape:()=>(y(),!0)})},p=f=>{Pe(f.relatedTarget)&&f.currentTarget.contains(f.relatedTarget)||(s.current?.(),s.current=null,a.current=null)};return Fy(()=>()=>{s.current?.(),s.current=null},[]),By("div",{ref:o,role:"group","aria-labelledby":u,"data-testid":"daily-report-error-banner",className:PT,onFocus:m,onBlur:p,children:[ar("span",{id:d,className:"min-w-0 font-medium",children:ar(OT,{children:e.info.message},e.occurrence)}),e.repeat>1&&ar("span",{id:c,className:"shrink-0 font-normal tabular-nums",children:r(e.repeat)}),ar("button",{type:"button","aria-label":t,"aria-describedby":u,onClick:y,className:FT,children:"\u2715"})]})},Bd=({children:e})=>{let{onError:t,labels:r}=Q(),[n,o]=Oy(null),[a,s]=Oy(Py),i=bn(Py),l=bn(0),d=bn(0),c=bn(t);Fy(()=>{c.current=t});let u=oi(D=>{let g=c.current;if(g){g(D);return}d.current+=1;let R=d.current,S=i.current,E=S.length===0?null:S[S.length-1].registration;o(v=>({info:D,occurrence:R,repeat:v!==null&&v.info.message===D.message?v.repeat+1:1,announcedIn:E}))},[]),y=oi(D=>{l.current+=1;let g={element:D,registration:l.current};return i.current=[...i.current,g],s(i.current),()=>{i.current=i.current.filter(R=>R!==g),s(i.current)}},[]),m=oi(()=>o(null),[]),p=MT(()=>({notifyError:u,registerNoticeHost:y}),[u,y]),f=a.at(-1),b=n===null?null:ar(UT,{notice:n,closeLabel:r.close,repeatedLabel:r.noticeRepeated,onDismiss:m}),h=D=>n!==null&&n.announcedIn===D?n:null;return By(Hy.Provider,{value:p,children:[e,ar(ky,{notice:h(null)}),a.map(D=>My(ar(ky,{notice:h(D.registration)}),D.element,String(D.registration))),b!==null&&f!==void 0&&My(b,f.element),b!==null&&f===void 0&&ar("div",{"data-daily-report-notice-slot":"",className:kT,children:b})]})};import{jsx as Vd,jsxs as WT}from"react/jsx-runtime";var ii=bt(void 0,1,"ActionProvider"),di=globalThis.__DailyReportActionsContext??Wy(null);globalThis.__DailyReportActionsContext=di;var ci=globalThis.__DailyReportActionStateContext??Wy(null);globalThis.__DailyReportActionStateContext=ci;var li="DailyReportActionProvider",ct=()=>Yt(di,"useDailyReportActions",li),ui=()=>Yt(ci,"useDailyReportActionState",li),VT=()=>{let e=Yt(di,"useDailyReportActionContext",li),t=Yt(ci,"useDailyReportActionContext",li);return Wd(()=>({...e,...t}),[e,t])},zd=({children:e,user:t,userId:r})=>{let{apiBasePath:n,labels:o}=Q(),a=rt(n),s=Vs(n),{notifyError:i}=ai(),[l,d]=sr(0),[{ledgers:c,write:u}]=sr(()=>uy(()=>d(q=>q+1))),[y,m]=sr(0),[p,f]=sr(0),[b]=sr(Ey),[h,D]=sr(!1),[g,R]=sr(Sy),S=Ud(!1),E=Ve(cy),v=Ud(ly),_=Ve(dy),[O]=sr(()=>sy(()=>performance.now())),[M]=sr(()=>yy(()=>performance.now())),P=ay(),[H,T]=Ff(P,P.settled,v.current),w=H.items,A=`${y}:${H.settled?H.revision:"-"}`,x=()=>{m(q=>q+1)},U=()=>{d(q=>q+1)},k=si(q=>_.current.has(q),[_]),V=si(()=>Xf()===(r??null),[r]),j=async()=>{ii.info("Refetching data without page reload..."),ra(),U(),le.listeners.forEach(q=>{q(-1)})},W=async()=>{ii.info("Clearing client & server/DB cache and refetching data without page reload..."),zo(),v.current=new Set,_.current.clear(),f(q=>q+1),T(Bf);try{sessionStorage.clear()}catch{}try{let q=await fetch(`${n}/${je.action}`,{method:"POST",body:Ps({intent:"clearCache"})});if(!q.ok){let ne=await q.json().catch(()=>null);ii.warn("Failed to clear server-side cache:",q.status,ne)}}catch(q){ii.warn("Failed to clear server-side cache:",q)}V()&&(ra({forceRefresh:!0}),U(),le.listeners.forEach(q=>{q(-1)}))};Vy(()=>()=>{for(let q of M.drain())q.unsubscribe()},[M]);let z=()=>{r&&(S.current=!0,D(q=>!q))};Uy(()=>{if(!r)return;let q=setTimeout(()=>{S.current||D(!0)},am);return()=>clearTimeout(q)},[r]);let de=q=>{V()&&(v.current=to(v.current,q),_.current.add(q),f(ne=>ne+1),Jn(q),T(ne=>Rn(ne,q)),b.discard(q))};Uy(()=>{if(!H.settled)return;let q=new Set;for(let ne of v.current)jf(ne)&&q.add(ne);q.size!==v.current.size&&(v.current=q)},[H.settled,H.revision]);let ge={user:t,userId:r,labels:o,apiBasePath:n,items:w,isSessionStillOurs:V,ownEchoIds:O,ledgers:c,writeLedgers:u,pendingSseQueue:M,pendingAddPromises:E,removedIds:v,searchRemovedIds:_,setRemovedVersion:f,setRows:T,drafts:b,invalidateSearch:x,announceDataChange:U,replay:q=>te.current.handleSseMessage(q),notifyError:q=>te.current.notifyError(q),sessionGate:a},L=Ry(ge),K=my(ge),G={toggleSse:z,...K,removeStaleItem:de,refetchData:j,clearCacheAndRefetch:W,handleSseMessage:L,notifyError:i},te=Ud(G);Vy(()=>{te.current=G});let[ye]=sr(()=>py(te)),ie=si(()=>a.reportSessionEnd("sse",a.period()),[a]),J=si(()=>i({operation:"liveUpdates",reason:"refused",message:o.liveUpdatesRefused}),[i,o]),re=Wd(()=>({...c,...ye.functions,user:t}),[c,ye,t]),De=Wd(()=>({version:l,items:w,isSseEnabled:h,sseStatus:g,searchInvalidation:A,isReportRemoved:k,removedVersion:p}),[l,w,h,g,A,k,p]);return Vd(kd.Provider,{value:b,children:Vd(di.Provider,{value:re,children:WT(ci.Provider,{value:De,children:[Vd(Pd,{isSseEnabled:h&&!s,onMessage:ye.onSseMessage,onSessionEnded:ie,onRefused:J,onStatus:R}),e]})})})};var zy=(e,t)=>e.split(t).length-1,Ky=(e,t,r)=>{let n=e("\uE000","\uE001");if(zy(n,"\uE000")!==1||zy(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 JT,useLayoutEffect as eA,useMemo as Gd}from"react";import{createContext as qy,createElement as GT,useCallback as Yy,useContext as jd,useDeferredValue as YT,useLayoutEffect as qT,useMemo as $d,useSyncExternalStore as XT}from"react";var $y=Object.freeze({subject:"subject",content:"content",author:"author",employeeName:"author",updatedBy:"updatedBy",category:"category",creationCategory:"creationCategory",customerName:"customer",interviewer:"interviewers",attachment:"attachments",comment:"comments"}),zT=e=>Object.hasOwn($y,e),KT=e=>{let t=e.indexOf(":"),r=t===-1?e:e.slice(0,t);if(!(Xn(e)&&zT(r)))throw new Error(`[daily-report] A search mark leaf carries an unknown field key: ${e}`);return $y[r]},$T=Object.freeze([]),jy=(e,t)=>e.map(({heading:r,matchedBy:n})=>n==="reading"?t.searchFieldMatchedByReading(t[r]):t.searchFieldMatched(t[r])).join(" "),Kd=e=>e.words>0||e.dense>0?"word":e.readings>0?"reading":null,jT=(e,t)=>e.length===t.length&&e.every((r,n)=>r.heading===t[n].heading&&r.matchedBy===t[n].matchedBy),Gy=()=>{let e=new Map,t=new Map,r=new Set,n=null,o=0,a=0,s=$T,i=!1,l=Object.freeze({entry:n,isCurrent:!0,count:o,fields:s}),d=!1,c=l,u=!1,y=g=>!g.isCurrent||g.entry!==n,m=()=>{let g=[];for(let[R,S]of t){let E=Kd(S);E!==null&&g.push(Object.freeze({heading:R,matchedBy:E}))}return Object.freeze(g)},p=()=>{if(!d)return l;d=!1;for(let[R,S]of t)S.leaves===0&&t.delete(R);let g=a===0;if(i){i=!1;let R=m();jT(R,s)||(s=R)}return l.entry===n&&l.isCurrent===g&&l.count===o&&l.fields===s||(l=Object.freeze({entry:n,isCurrent:g,count:o,fields:s})),l},f=()=>{u=!1;let g=p();if(g!==c){c=g;for(let R of[...r])R()}},b=()=>{d=!0,!u&&(u=!0,queueMicrotask(f))},h=g=>{let R=t.get(g);if(R!==void 0)return R;let S={leaves:0,words:0,readings:0,dense:0};return t.set(g,S),S},D=(g,R)=>{o+=R*(g.words+g.readings),y(g)&&(a+=R);let S=h(g.heading),E=Kd(S);S.leaves+=R,S.words+=R*g.words,S.readings+=R*g.readings,g.dense&&(S.dense+=R),Kd(S)!==E&&(i=!0)};return{register:g=>{let R={...g,heading:KT(g.fieldKey)},S=Object.freeze({});return e.set(S,R),D(R,1),b(),S},unregister:g=>{let R=e.get(g);R!==void 0&&(e.delete(g),D(R,-1),b())},settle:g=>{if(g!==n){n=g,a=0;for(let R of e.values())y(R)&&(a+=1);b()}},subscribe:g=>(r.add(g),()=>{r.delete(g)}),getSnapshot:p}};var mt=qy(null),Xy=qy(null),sa=()=>{let e=jd(Xy);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},QT=()=>{},ZT=()=>QT,Qy=e=>{let t=jd(mt),r=Yy(i=>t===null?ZT():t.subscribe(e,i),[t,e]),n=Yy(()=>{let i=t===null?void 0:t.read(e);return i===void 0?null:i},[t,e]),o=XT(r,n,n),a=$d(()=>t===null||o===null?null:{store:t,entry:o},[t,o]),s=YT(a,a===null?void 0:null);return s!==null&&s.store===t?s.entry:null},ro=({reportHubId:e,entry:t,children:r})=>{let n=jd(mt),o=$d(()=>n===null?null:Gy(),[n]),a=$d(()=>n===null||o===null?null:{entry:t,revalidate:(s,i)=>n.revalidate(e,s,i),tally:o,indicator:n.indicator},[n,o,t,e]);return qT(()=>{o!==null&&o.settle(t)},[o,t]),GT(Xy.Provider,{value:a},r)};import{jsx as Jy}from"react/jsx-runtime";var tA="data-daily-report-search-mark",rA=Object.freeze({[Mn.word]:Object.freeze({attribute:"word",description:null}),[Mn.reading]:Object.freeze({attribute:"reading",description:"searchReadingMarkDescription"})}),Zy=e=>{if(!Fo(e))throw new Error(`[daily-report] A search mark carries an unknown tier: ${e}`);return rA[e]},nA=Object.freeze({words:0,readings:0}),oA=e=>{if(e===null)return nA;let t=0;for(let r=2;r<e.length;r+=3)Zy(e[r]).attribute==="reading"&&(t+=1);return{words:e.length/3-t,readings:t}},aA=(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=Zy(t[a+2]);s>o&&n.push(e.slice(o,s)),n.push(Jy("mark",{[tA]:l.attribute,"aria-description":l.description===null?void 0:r[l.description],className:Bu,children:e.slice(s,i)},`m${s}`)),o=i}return o<e.length&&n.push(e.slice(o)),n},sA=({fieldKey:e,raw:t,display:r})=>{let{entry:n,revalidate:o,tally:a}=sa(),{labels:s}=Q(),i=typeof t=="string"?t:"",l=Gd(()=>n===null||i.length===0?null:hd(i),[n,i]),d=n===null?void 0:n.fields[e],c=d!==void 0&&l!==null&&d.fingerprint===l?d:null,u=c!==null&&"ranges"in c?c.ranges:null,y=c!==null&&"dense"in c,m=c!==null,p=Gd(()=>u===null?null:Qu(r,u),[u,r]),f=Gd(()=>oA(p),[p]);return eA(()=>{if(l===null)return;m||o(e,l);let b=a.register({entry:n,isCurrent:m,fieldKey:e,words:f.words,readings:f.readings,dense:y});return()=>a.unregister(b)},[a,o,n,l,m,e,f,y]),p===null||p.length===0?r.text:aA(r.text,p,s)},we=({fieldKey:e,raw:t,display:r})=>JT(mt)===null?r.text:Jy(sA,{fieldKey:e,raw:t,display:r});import{jsx as lA}from"react/jsx-runtime";var iA={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},jr=Object.freeze({2:3,3:4,4:5,5:6}),vt=({level:e,...t})=>{let r=iA[e];return lA(r,{...t})};import{memo as WR,useId as lv,useMemo as dv,useRef as zR}from"react";var eR=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var qd="tile",la=eR[qd],dA=2,ia=16,tR=5,rR=la.maxWidth/dA,cA=tR*(rR+ia)-ia,nR=e=>{let t=Math.min(tR,1+Math.floor((e+ia)/(rR+ia)));return Math.floor((Math.min(e,cA)-(t-1)*ia)/t)},Yd=`round(nearest, 100cqi * ${la.maxHeight} / ${la.maxWidth}, 1px)`,oR=Object.freeze({aspectRatio:`${la.maxWidth} / ${la.maxHeight}`,height:Yd,contain:"strict"}),uA="--aqdr-lattice-block",aR=Object.freeze({marginBlockEnd:`calc(round(up, ${Yd}, var(${uA})) - ${Yd})`});var pA="download",mA="thumbnail",fA="1",no=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[pA]:fA})}`;case"thumbnail":return`${n}?${new URLSearchParams({[mA]:r.variant})}`}};import{createContext as iR,useCallback as yA,useContext as lR,useMemo as RA,useState as hA}from"react";var Xd=iR(null),Qd=iR(null),sR=(e,t)=>{if(t){e.hasAttribute("tabindex")&&e.removeAttribute("tabindex");return}e.getAttribute("tabindex")!=="-1"&&e.setAttribute("tabindex","-1")},dR=e=>{let t=new Map,r=null,n=!1,o=(d,c)=>{let u=d===null?void 0:t.get(d);if(u!==void 0)for(let y of u)sR(y,c)},a=()=>{let d=e.getActiveId();o(r,!1),o(d,!0),r=d},s=d=>e.getActiveId()===d,i=(d,c)=>{n||(n=!0,r=e.getActiveId(),e.subscribeActive(a));let u=t.get(d);u===void 0&&(u=new Set,t.set(d,u));let y=u;return y.add(c),sR(c,d===r),()=>{y.delete(c),y.size===0&&t.delete(d)}};return{isActive:s,attach:i,scopeOf:d=>({isActive:()=>s(d),attach:c=>i(d,c)})}},cR=e=>{let t=lR(Xd);if(t===null)throw new Error("[daily-report] useRowControlScope is called outside a view's rows (no control registry)");return RA(()=>t.scopeOf(e),[t,e])},bA=(e,t)=>{if(typeof e!="function")return e.current=t,()=>{e.current=null};let r=e(t);return typeof r=="function"?r:()=>{e(null)}},oo=e=>{let t=lR(Qd),[r]=hA(()=>t===null||t.isActive()?void 0:-1),n=yA(o=>{let a=e===void 0?null:bA(e,o),s=t===null?null:t.attach(o);return()=>{s!==null&&s(),a!==null&&a()}},[t,e]);return{tabIndex:r,ref:n}},uR=(e,t)=>{let{before:r,after:n}=Ko(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null},pR=(e,t,r)=>{if(t===null)return!r&&Rs(e).length>0;if(!e.contains(t))return!1;let{before:n,within:o,after:a}=Ko(e,t);return r?n.length>0:o.length>0||a.length>0};import{createContext as TA,useContext as AA,useLayoutEffect as vA,useMemo as gR,useState as xA}from"react";import{flushSync as CA}from"react-dom";import{flushSync as SA}from"react-dom";var Zd=new WeakMap,mR=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,fR=e=>e.overflowWidth!==null&&e.overflowWidth!==e.handedOverflowWidth,gA=(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},yR=(e,t,r)=>{let n=gA(e,t);return n===null||n.handedTrackWidth===null||r<=n.handedTrackWidth?null:{track:n,trackWidth:n.handedTrackWidth}},EA=e=>{e.frame=null;let t=new Map;for(let r of e.observations.values())mR(r)&&t.set(r,r.observedTrackWidth);for(let[r,n]of e.fittedNames){if(!fR(n))continue;let o=n.overflowWidth;n.handedOverflowWidth=o;let a=yR(e,r,o);a===null||t.has(a.track)||t.set(a.track,a.trackWidth)}t.size!==0&&SA(()=>{for(let[r,n]of t)r.handedTrackWidth=n,r.onTrackWidth(n)})},DA=(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(yR(e,r.target,n)!==null){a.overflowWidth=n;continue}a.overflowWidth=null,a.handedOverflowWidth=null}}e.frame!==null||!([...e.observations.values()].some(mR)||[...e.fittedNames.values()].some(fR))||(e.frame=e.view.requestAnimationFrame(()=>EA(e)))},wA=e=>{let t=Zd.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=>DA(n,o)),observations:new Map,fittedNames:new Map,frame:null};return Zd.set(e,n),n},RR=(e,t)=>{let r=wA(e.ownerDocument);if(r.observations.has(e)||r.fittedNames.has(e))throw new Error(t);return r},hR=(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(),Zd.delete(e.view.document))},bR=(e,t,r)=>{let n=RR(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),hR(n,e))}},SR=e=>{let t=RR(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),hR(t,e))}};import{jsx as ir,jsxs as TR}from"react/jsx-runtime";var tc="\u2026",IA=tc.codePointAt(0),ER=Object.freeze({text:tc,runs:Object.freeze([])}),pi="data-attachment-file-name",_A=We("block min-w-0"),LA="block w-fit whitespace-nowrap",NA=new Set([" ","\xA0","\u1361","\u{10100}","\u{10101}","\u{1039F}","\u{1091F}"," ",`
|
|
5
|
+
`,"\f","\r"]),OA=/^-?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?px$/,rc=({fileName:e})=>ir("span",{className:er,children:e}),MA=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,PA=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,nc=TA(null),AR=e=>{let t=e.text.lastIndexOf(".");return t<=0||t===e.text.length-1?{stem:e,extension:Pt("")}:{stem:vo(e,0,t),extension:vo(e,t,e.text.length)}},Jd=(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 vo(e,0,o.slice(0,a).join("").length)},kA=(e,t,r)=>{if(r(e)<=t)return Pt(e);let{stem:n,extension:o}=AR(Xu(e)),a=t/2,s=r(o.text)<=a?o:_n([Jd(o,tc,a,r),ER]);if(r(n.text+s.text)<=t)return _n([n,s]);let i=_n([ER,s]);return r(i.text)>t?Jd(i,"",t,r):_n([Jd(n,i.text,t,r),i])},DR=new WeakMap,vR=e=>{let t=DR.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 DR.set(e,n),n},xR=(e,t,r)=>`${e}|${t}|${r}`,FA=(e,t,r,n)=>{let o=xR(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+=NA.has(d)?r+n:r;return e.context.measureText(i).width+l};return e.measures.set(o,s),s},CR=e=>{let t=new Set;for(let r of e.matchAll(MA)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},wR=e=>e==="normal"?0:OA.test(e)?Math.max(Number.parseFloat(e),0):null,HA=e=>{let t=getComputedStyle(e),r=wR(t.letterSpacing),n=wR(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:CR(t.fontFamily),measure:FA(vR(e.ownerDocument),o,r,n)}},BA=(e,t)=>e===t||e!==null&&t!==null&&e.width===t.width&&e.measure===t.measure,UA=e=>{let t=new Set([IA]);for(let r of e.querySelectorAll(`[${pi}]`)){let n=r.getAttribute(pi);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},VA=(e,t)=>{for(let r of e.split(",")){let n=PA.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},ec=new WeakMap,IR=e=>{let t=ec.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return ec.set(e,r),r},_R=(e,t)=>{let r=HA(e.container.querySelector(`[${pi}]`));if(r===null){e.fitted=null,e.applyFit(null);return}e.fitted={trackWidth:t,nameFont:r};let n=IR(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=zA(n)),e.applyFit({width:t,measure:r.measure})},WA=(e,t)=>{let r=t.map(o=>({families:CR(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=UA(o.container);s.some(l=>VA(l.unicodeRange,i))&&(vR(e.document).measures.delete(xR(a.nameFont.font,a.nameFont.letterSpacing,a.nameFont.wordSpacing)),n.push([o,a.trackWidth]))}n.length!==0&&CA(()=>{for(let[o,a]of n)_R(o,a)})},zA=e=>{let t=e.document.fonts,r=n=>{WA(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},KA=(e,t,r)=>{let n={container:e,applyFit:r,fitted:null},o=bR(e,t,s=>_R(n,s)),a=IR(e.ownerDocument);return a.registrations.add(n),()=>{o(),a.registrations.delete(n),!(a.registrations.size>0)&&(a.stopWatchingFonts?.(),ec.delete(a.document))}},LR=(e,t)=>{let[r,n]=xA(null);return vA(()=>{let o=e.current;return KA(o,t,s=>{n(i=>BA(i,s)?i:s)})},[e,t]),r},NR=({containerRef:e,children:t})=>{let r=LR(e,nR);return ir(nc,{value:r,children:t})},$A=e=>e,OR=({containerRef:e,children:t})=>{let r=LR(e,$A);return ir(nc,{value:r,children:t})},da=({fileName:e,attachmentIndex:t,className:r,testId:n})=>{let o=AA(nc),a=gR(()=>o===null?null:kA(e,o.width,o.measure),[e,o]),{stem:s,extension:i}=gR(()=>AR(Pt(e)),[e]),l=Te.attachment(t);return TR("span",{className:_A(r),title:e,"data-testid":n,[pi]:e,children:[a===null?TR("span",{"aria-hidden":"true",className:"flex min-w-0",children:[ir("span",{className:"truncate",children:ir(we,{fieldKey:l,raw:e,display:s})}),i.text!==""&&ir("span",{className:"max-w-1/2 shrink-0 truncate",children:ir(we,{fieldKey:l,raw:e,display:i})})]}):ir("span",{ref:SR,"aria-hidden":"true",className:LA,children:ir(we,{fieldKey:l,raw:e,display:a})}),ir(rc,{fileName:e})]})};import XA from"lucide-react/dist/esm/icons/image-off.js";import{memo as QA,useCallback as sc,useEffect as ZA,useLayoutEffect as JA,useRef as ic,useState as ev}from"react";var mi=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),MR=mi.queueWaitMs+mi.readMs+mi.renderMs+mi.transferMarginMs;var jA=Object.freeze({kind:"loaded"}),PR=(e,t,r,n,o)=>{let{limiter:a,tuning:s}=n,i="watching",l=null,d=null,c=null,u=null,y=null,m=T=>(T!==null&&n.clearTimeout(T),null),p=()=>{u?.(),u=null},f=()=>{y?.(),y=null},b=T=>T===null||T.kind==="loaded"?0:T.kind==="failing"?T.failedAttempts:s.maxAttempts,h=T=>{i="cooling",c=n.setTimeout(O,T)},D=()=>{o.abortInFlight(),f();let T=b(r.get(t))+1;if(T>=s.maxAttempts){i="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:T,retryAt:n.now()+s.retryDelayMs}),o.reset(),h(s.retryDelayMs)},g=T=>{if(i==="loading"){if(d=m(d),!T){D();return}i="done",r.set(t,jA),f()}},R=()=>{d=null,g(!1)},S=()=>{i="loading",o.showActivity(!0),p(),d=n.setTimeout(R,s.loadTimeoutMs),o.grant()},E=()=>{l=null,i="queued",y=a.request(S)},v=()=>{l===null&&(l=n.setTimeout(E,s.settleMs))},_=T=>{if(o.showActivity(T),T){i==="watching"&&v();return}if(i==="queued"){f(),i="watching";return}l=m(l)},O=()=>{c=null,i="watching",o.showActivity(!1),u=n.observe(e,_)},M=()=>{let T=i==="loading";i="done",p(),l=m(l),d=m(d),c=m(c),o.showActivity(!1),T&&(o.abortInFlight(),y!==null&&o.reset()),f()},P=r.get(t);if(P?.kind==="loaded")return i=o.shows()?"done":"loading",o.grant(),{settle:g,dispose:M};if(P?.kind==="exhausted"){if(n.now()-P.failedAt<s.failureMemoryMs)return i="done",o.exhausted(),{settle:g,dispose:M};r.delete(t)}o.reset();let H=P?.kind==="failing"?P.retryAt-n.now():0;return H>0?h(H):O(),{settle:g,dispose:M}};var GA=e=>{tt("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())}}}},kR=GA(2);var YA=e=>{tt("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)}}},oc=YA(1024);var ac=new WeakMap,qA=e=>{let t=ac.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 ac.set(e,a),a},FR=(e,t)=>{let r=e.ownerDocument,n=qA(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(),ac.delete(r)))}};import{jsx as ca,jsxs as iv}from"react/jsx-runtime";var tv={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},rv="data-thumbnail-active",nv="data-daily-report-attachment-preview",BR={[nv]:""},ov=Object.freeze({settleMs:250,loadTimeoutMs:MR,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),HR=e=>{let t=oc.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},av=()=>({limiter:kR,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:FR,tuning:ov}),sv=(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(rv,o)}}),UR=QA(({thumbnailUrl:e,unavailableLabel:t})=>{let r=ic(null),n=ic(null),o=ic(null),[a,s]=ev(()=>HR(e));a.url!==e&&s(HR(e)),JA(()=>{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]),ZA(()=>{let c=r.current,u=PR(c,e,oc,av(),sv(e,c,s,n));return o.current=u,()=>{o.current=null,u.dispose()}},[e]);let i=sc(c=>{c!==null&&(n.current=c)},[]),l=sc(()=>{s(c=>c.status==="granted"?{url:c.url,status:"loaded"}:c),o.current?.settle(!0)},[]),d=sc(()=>{o.current?.settle(!1)},[]);return ca("span",{className:"block",children:ca("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":tv[a.status],style:oR,className:"relative block w-full",children:ca("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"?iv("span",{className:`flex size-full flex-col items-center justify-center gap-1 px-2 text-center ${ue} text-xs ${yr}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[ca(XA,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):ca("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 Be,jsxs as lr}from"react/jsx-runtime";var VR=1024,lc=["B","KB","MB","GB"],KR=`${ue} text-sm line-through`,cv="relative truncate",uv=We(cv),pv=I("relative ml-auto shrink-0 rounded-sm 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:decoration-slate-600 dark:hover:text-slate-200",ue,ce),mv="text-blue-800 text-sm dark:text-blue-300 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover_&]:underline",fv="text-blue-800 text-sm hover:underline dark:text-blue-300",yv=`flex h-4 min-w-0 items-center gap-2 ${ue} text-xs tabular-nums`,Rv=`${ue} text-xs tabular-nums`,hv=I("flex min-w-0 flex-col gap-2 rounded-lg",ce),bv=I("flex min-w-0 rounded-sm",ce),Sv=I("m-0",rn),gv=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=VR&&r<lc.length-1;)t/=VR,r+=1;return r===0?`${t} ${lc[r]}`:`${t.toFixed(1)} ${lc[r]}`},Ev=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}},$R=({attachment:e,labels:t,className:r})=>lr("span",{className:uv(r),children:[gv(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),dc=({href:e,children:t,...r})=>{let n=oo();return Be("a",{href:e,...r,...n,children:t})},jR=({downloadUrl:e,label:t,fileName:r})=>lr(dc,{href:e,className:pv,"data-testid":"daily-report-attachment-download",children:[t," ",Be(rc,{fileName:r})]}),Dv=WR(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=Be(UR,{thumbnailUrl:no(r,e.id,{kind:"thumbnail",variant:qd}),unavailableLabel:n.attachmentThumbnailUnavailable}),a=e.state==="absent";return lr("li",{className:"@container flex min-w-0 flex-col gap-1","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[a?lr("div",{className:"flex min-w-0 flex-col gap-2",children:[o,Be(da,{fileName:e.fileName,attachmentIndex:t,className:KR,testId:"daily-report-attachment-name"})]}):lr(dc,{href:no(r,e.id,{kind:"inline"}),className:hv,"data-testid":"daily-report-attachment-link",...BR,children:[o,Be(da,{fileName:e.fileName,attachmentIndex:t,className:mv})]}),lr("div",{className:yv,style:aR,children:[Be($R,{attachment:e,labels:n}),!a&&Be(jR,{downloadUrl:no(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})]})}),wv=WR(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=e.state==="absent",a=zR(null);return lr("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:[Be(OR,{containerRef:a,children:Be("div",{ref:a,className:"flex min-w-0 flex-1","data-testid":"daily-report-attachment-name-track",children:lr("div",{className:"flex min-w-0 flex-col",children:[o?Be(da,{fileName:e.fileName,attachmentIndex:t,className:KR,testId:"daily-report-attachment-name"}):Be(dc,{href:no(r,e.id,{kind:"inline"}),className:bv,"data-testid":"daily-report-attachment-link",children:Be(da,{fileName:e.fileName,attachmentIndex:t,className:fv})}),Be($R,{attachment:e,labels:n,className:Rv})]})})}),!o&&Be(jR,{downloadUrl:no(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})}),Tv=({entries:e,headingId:t,apiBasePath:r,labels:n})=>{let o=zR(null);return Be(NR,{containerRef:o,children:Be("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:Be("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})=>Be(Dv,{attachment:a,attachmentIndex:s,apiBasePath:r,labels:n},a.id))})})})},fi=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=Q(),o=lv(),{tiles:a,rows:s}=dv(()=>Ev(e),[e]);return e.length===0?null:lr("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[Be(vt,{level:jr[n],id:o,className:Sv,children:r.attachments}),lr("div",{className:"flex flex-col gap-4",children:[a.length>0&&Be(Tv,{entries:a,headingId:o,apiBasePath:t,labels:r}),s.length>0&&Be("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:s.map(({attachment:i,index:l})=>Be(wv,{attachment:i,attachmentIndex:l,apiBasePath:t,labels:r},i.id))})]})]})};import{useOverlayEscapeStack as zv}from"@aiquants/swipe-overlay";import{memo as JR,useCallback as bi,useEffect as qR,useId as eh,useLayoutEffect as Kv,useRef as mc,useState as $v}from"react";import{useCallback as GR,useMemo as Av,useState as vv}from"react";var xv=()=>[],cc=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:s,deleteComment:i}=ct(),{version:l}=ui(),{labels:d}=Q(),c=d.unknownUser,[u,y]=vv(null),m=GR(h=>e&&i(e.reportHubId,h,e.date),[e,i]),p=GR(h=>e&&t?s(e.reportHubId,h,e.date):Promise.resolve(),[e,t,s]),f=Ve(xv);return{uiComments:Av(()=>{if(!e)return[];let h=Af(e.externalComments,e.postedComments,r,c),D=o.current.get(e.reportHubId);D?.size&&(h=h.filter(R=>!D.has(R.id)));let g=n.current.get(e.reportHubId);if(g?.size&&t){let R=new Set(h.map(_=>_.id)),S=Ar(t,""),E=S==="",v=E?c:S;for(let[_,O]of g){if(D?.has(_)||R.has(_))continue;let M=a.current.get(_);M&&R.has(M)||h.some(P=>P.isMine&&P.content===O&&typeof P.id=="number"&&P.id>0)||h.push({id:_,authorName:v,content:O,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1,isAuthorUnknown:E})}}return JSON.stringify(h)===JSON.stringify(f.current)?f.current:(f.current=h,h)},[e,t,r,c,o,n,a,l]),handleAddComment:p,handleDeleteComment:m,pendingDeleteId:u,setPendingDeleteId:y,resolvedIdMap:a.current}};import{Fragment as Cv,jsx as Iv}from"react/jsx-runtime";var ot=({render:e,elementRef:t})=>{let r=oo(t);return Iv(Cv,{children:e(r)})};import _v from"@heroicons/react/24/outline/TrashIcon.js";import{memo as Lv,useId as Nv,useMemo as YR,useRef as Ov,useState as Mv}from"react";import{jsx as dr,jsxs as yi}from"react/jsx-runtime";var uc="data-comment-id",Ri="data-comment-delete-button",hi="data-comment-delete-slot",Pv=I(dt,Eu),kv=Array.from({length:8},(e,t)=>I("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")),Fv=(e,t,r)=>(e?4:0)+(t?2:0)+(r?1:0),Hv=We("font-semibold text-xs"),Bv=`${ue} text-xs`,Uv="relative flex h-5 items-center",Vv=I(Je,"motion-safe:fade-in motion-safe:zoom-in-95 absolute top-full right-0 z-20 mt-1 whitespace-nowrap bg-red-800 font-bold text-white text-xs shadow-lg hover:bg-red-900 active:bg-red-950 motion-safe:animate-in motion-safe:duration-200",ce),Wv=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,pc=Lv(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:s,onBeforeHide:i,resolvedIdMap:l})=>{let[d,c]=Mv(!1),{labels:u}=Q(),y=Nv(),m=Ov(null),p=Wv(e.id,o,l),f=YR(()=>$e(e.authorName),[e.authorName]),b=YR(()=>Pt(e.content),[e.content]),h=Te.comment(e.id,"author"),D=Te.comment(e.id,"content"),g=Xn(D),R=e.isMine&&!e.isLegacy,S=!!e.createdAt||R,E=()=>{let _=m.current;_!==null&&i(_),a(null),c(!0),typeof e.id=="number"&&n?.(e.id)},v=_=>{if(!p)return;let O=_.relatedTarget;Pe(O)&&_.currentTarget.contains(O)||a(null)};return yi("li",{[uc]:e.id,"data-deleted":d?"true":void 0,className:kv[Fv(e.isMine,d,p)],children:[yi("div",{className:"mb-1 flex items-center justify-between",children:[dr("div",{className:Hv(vf(e.color)),children:g&&!e.isAuthorUnknown?dr(we,{fieldKey:h,raw:e.authorName,display:f}):f.text}),S&&yi("div",{className:"flex items-center gap-2",children:[e.createdAt&&dr("div",{className:Bv,children:Ne(e.createdAt)}),R&&yi("div",{[hi]:e.id,className:Uv,onBlur:v,children:[dr(ot,{elementRef:m,render:_=>dr("button",{type:"button",..._,className:Pv,title:u.commentDelete,"aria-label":u.commentDelete,"aria-expanded":p,"aria-controls":p?y:void 0,[Ri]:e.id,onClick:()=>s(e.id,p),children:dr(_v,{"aria-hidden":"true",className:p?et.deletePending:et.delete})})}),p&&dr(ot,{render:_=>dr("button",{id:y,type:"button",..._,"data-delete-confirmation":!0,className:Vv,onClick:E,children:u.commentDeleteConfirm})})]})]})]}),dr("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:g?dr(we,{fieldKey:D,raw:e.content,display:b}):e.content})]})});pc.displayName="DailyReportPostedComment";import{Fragment as nx,jsx as Vt,jsxs as fc}from"react/jsx-runtime";var jv="data-daily-report-comment-section",Gv="data-daily-report-comment-heading",Yv=I(fr,ce),qv=We("flex flex-col gap-2"),th=(e,t)=>e>0||t,Xv=I("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",mr,ce),Qv=I("h-9 rounded-lg bg-blue-800 px-4 font-medium text-sm text-white hover:bg-blue-900 disabled:opacity-50",ce),XR=e=>e.querySelector(`[${Ri}][aria-expanded="true"]`),Zv=(e,t,r)=>{let n=[...e.querySelectorAll(`[${Ri}]`)].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(`[${uc}]`)].filter(i=>!i.contains(t)&&i.closest("[data-deleted]")===null).length;return th(s,r)?{kind:"heading"}:{kind:"report"}},Jv=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:s,canComment:i,headingRef:l,onSectionRemoved:d})=>{let c=mc(null),u=zv(),y=eh(),m=o!==null,p=bi(()=>{let h=c.current,D=h===null?null:XR(h),g=D===null?null:D.closest(`[${hi}]`),R=h===null?null:nt(h);a(null),D!==null&&g!==null&&R!==null&&g.contains(R)&&D.focus({preventScroll:!0})},[a]);qR(()=>{if(m)return u({id:y,onEscape:()=>(p(),!0)})},[m,u,y,p]),qR(()=>{let h=c.current;if(!m||h===null)return;let D=h.ownerDocument,g=R=>{let S=XR(h)?.closest(`[${hi}]`);S!=null&&Pe(R.target)&&S.contains(R.target)||a(null)};return D.addEventListener("pointerdown",g,!0),()=>D.removeEventListener("pointerdown",g,!0)},[m,a]);let f=bi((h,D)=>{D?p():a(h)},[p,a]),b=bi(h=>{let D=c.current;if(D===null)return;let g=Zv(D,h,i);if(g.kind==="report"){d();return}let R=g.kind==="trash"?g.button:l.current;if(R===null)throw new Error("[daily-report] the comment section's heading is not attached");R.focus({preventScroll:!0})},[i,l,d]);return e.length===0?null:Vt("ul",{ref:c,className:"space-y-2",children:e.map(h=>Vt(pc,{comment:h,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:f,onBeforeHide:b,resolvedIdMap:s},h.id))})},QR=({headingId:e,className:t,children:r,...n})=>{let{labels:o,headingLevel:a}=Q(),s=mc(null);return th(n.comments.length,n.canComment)?fc("div",{[jv]:"",className:qv(t),children:[Vt(vt,{ref:s,id:e,level:jr[a],tabIndex:-1,[Gv]:"",className:Yv,children:o.comments}),Vt(Jv,{...n,headingRef:s}),r]}):null},rh=JR(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:s,onDeleteComment:i,pendingDeleteId:l,onPendingDeleteIdChange:d,resolvedIdMap:c})=>{let u=eh(),y=t?Vt(rx,{onAddComment:s,pushedToEnd:n==="after-section",labelledBy:u}):null,m={headingId:u,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"?Vt(QR,{...m,children:y}):fc(nx,{children:[Vt(QR,{...m}),y]})});rh.displayName="ReportCommentsView";var ua=JR(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:s})=>{let{user:i}=ct(),{uiComments:l,handleAddComment:d,handleDeleteComment:c,pendingDeleteId:u,setPendingDeleteId:y,resolvedIdMap:m}=cc(e,i,t),p=gf(),f=mc(!1);Kv(()=>{f.current&&p(),f.current=!0},[l,u,p]);let b=bi(async h=>{await d(h),n?.()},[d,n]);return Vt(rh,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:s,comments:l,onAddComment:b,onDeleteComment:c,pendingDeleteId:u,onPendingDeleteIdChange:y,resolvedIdMap:m})});ua.displayName="ReportComments";var ex="flex gap-2",tx="mt-auto flex gap-2",ZR="content",rx=({onAddComment:e,pushedToEnd:t,labelledBy:r})=>{let[n,o]=$v(!1),{labels:a}=Q();return fc("form",{className:t?tx:ex,onSubmit:async i=>{i.preventDefault();let l=i.currentTarget,d=l.elements.namedItem(ZR);if(!(d instanceof Ge(l).HTMLInputElement))return;let c=d.value.trim();if(c&&e){o(!0);try{await e(c),l.reset()}catch{}finally{o(!1)}}},children:[Vt(ot,{render:i=>Vt("input",{type:"text",name:ZR,...i,"aria-labelledby":r,placeholder:a.commentPlaceholder,className:Xv,autoComplete:"off",readOnly:n})}),Vt(ot,{render:i=>Vt("button",{type:"submit",...i,className:Qv,disabled:n,children:a.commentSend})})]})};import{useState as bx}from"react";import{Slot as ox}from"@radix-ui/react-slot";import{cva as ax}from"class-variance-authority";import*as oh from"react";import{jsx as lx}from"react/jsx-runtime";var sx=ax(`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 ${ce}`,{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"}}),nh=new Map,ix=(e,t,r)=>{let n=`${String(e)}|${String(t)}`,o=nh.get(n);if(o!==void 0)return o(r);let a=We(sx({variant:e,size:t}));return nh.set(n,a),a(r)},xr=oh.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>lx(n?ox:"button",{className:ix(t,r,e),ref:a,...o}));xr.displayName="Button";import{jsx as ux}from"react/jsx-runtime";var dx=`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 ${mr} ${ce}`,cx=We(dx);function ah({className:e,type:t,...r}){return ux("input",{type:t,"data-slot":"input",className:cx(e),...r})}import*as sh from"@radix-ui/react-label";import{jsx as fx}from"react/jsx-runtime";var px="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",mx=We(px);function pa({className:e,...t}){return fx(sh.Root,{"data-slot":"label",className:mx(e),...t})}import{jsx as hx}from"react/jsx-runtime";var yx=`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 ${mr} ${ce}`,Rx=We(yx);function ih({className:e,...t}){return hx("textarea",{"data-slot":"textarea",className:Rx(e),...t})}import{jsx as Wt,jsxs as Si}from"react/jsx-runtime";var ao=e=>({title:e.subject??"",content:e.content??""}),Sx=e=>{e.preventDefault()},gi=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=ct(),{labels:s}=Q(),i=$r(),{title:l,content:d}=wy(e.reportHubId),[c,u]=bx(!1),y=async()=>{u(!0);try{await o(e.reportHubId,{title:l,content:d},e.date)}catch{}finally{u(!1)}},m=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)}},p=`report-title-${e.reportHubId}`,f=`report-content-${e.reportHubId}`;return Si("form",{className:"space-y-4 p-1",onSubmit:Sx,children:[Si("div",{className:"space-y-2",children:[Wt(pa,{htmlFor:p,children:s.formTitle}),Wt(ot,{elementRef:n,render:b=>Wt(ah,{id:p,value:l,onChange:h=>i.setInput(e.reportHubId,{title:h.target.value}),placeholder:s.formTitlePlaceholder,disabled:c,...b})})]}),Si("div",{className:"space-y-2",children:[Wt(pa,{htmlFor:f,children:s.formContent}),Wt(ot,{render:b=>Wt(ih,{id:f,value:d,onChange:h=>i.setInput(e.reportHubId,{content:h.target.value}),placeholder:s.formContentPlaceholder,className:"min-h-50",disabled:c,...b})})]}),Si("div",{className:"flex justify-end gap-2",children:[t&&Wt(ot,{render:b=>Wt(xr,{type:"button",variant:"outline",onClick:t,disabled:c,...b,children:s.formCancel})}),Wt(ot,{render:b=>Wt(xr,{type:"button",variant:"secondary",onClick:y,disabled:c,...b,children:s.formSave})}),Wt(ot,{render:b=>Wt(xr,{type:"button",onClick:m,disabled:c,...b,children:s.formPublish})})]})]})};import{useContext as ch,useMemo as uh,useSyncExternalStore as ph}from"react";import{jsx as Sn,jsxs as dh}from"react/jsx-runtime";var gx=`inline-grid whitespace-nowrap text-xs leading-4 tabular-nums ${ue}`,lh="[grid-area:1/1]",Ex=e=>{let t=0;for(let r=e;r!==0;r&=r-1)t+=1;return t},yc=e=>e===null||e.matchedSets===null?null:Ex(e.matchedSets),Ei=(e,t,r)=>{let n=yc(e);return t.showsMatchedSets&&n!==null?r.searchMatchedKeywordsDescription(n,t.setCount):null},mh=(e,t,r)=>{let n=yc(e);return e!==null&&!r&&(n===null||n>=1)&&t.entry===e&&t.isCurrent&&t.fields.length===0},fh=({entry:e,drawn:t,indicator:r,isEditing:n,labels:o})=>{let a=Ei(e,r,o),s=jy(t.fields,o);return[...a===null?[]:[a],...s.length>0?[s]:[],...mh(e,t,n)?[o.searchMatchOutsideViewDescription]:[]]},Dx=({isEditing:e,descriptionId:t})=>{let{entry:r,tally:n,indicator:o}=sa(),{labels:a}=Q(),s=ph(n.subscribe,n.getSnapshot,n.getSnapshot),{setCount:i,showsMatchedSets:l}=o,d=l?`${a.searchMatchedKeywords(i,i)} ${a.searchMatchOutsideView}`:a.searchMatchOutsideView,c=yc(r),u=mh(r,s,e),y=Ei(r,o,a),m=uh(()=>fh({entry:r,drawn:s,indicator:o,isEditing:e,labels:a}),[r,s,o,e,a]);return dh("span",{className:gx,"data-daily-report-search-indicator":!0,children:[Sn("span",{"aria-hidden":"true",className:`invisible ${lh}`,"data-daily-report-search-indicator-placeholder":!0,children:d}),dh("span",{className:lh,children:[y!==null&&c!==null?Sn("span",{"aria-hidden":"true",title:y,"data-daily-report-search-matched-keywords":`${c}/${i}`,children:a.searchMatchedKeywords(c,i)}):null,y!==null&&u?" ":null,u?Sn("span",{"aria-hidden":"true",title:a.searchMatchOutsideViewDescription,"data-daily-report-search-outside-view":!0,children:a.searchMatchOutsideView}):null,Sn("span",{id:t===null?void 0:t,className:er,"data-daily-report-search-indicator-description":!0,children:m.join(" ")})]})]})},Di=({isEditing:e,descriptionId:t})=>ch(mt)===null?null:Sn(Dx,{isEditing:e,descriptionId:t}),wx=({id:e})=>{let{entry:t,tally:r,indicator:n}=sa(),{labels:o}=Q(),a=ph(r.subscribe,r.getSnapshot,r.getSnapshot),s=uh(()=>fh({entry:t,drawn:a,indicator:n,isEditing:!1,labels:o}),[t,a,n,o]);return Sn("span",{id:e,hidden:!0,"data-daily-report-search-match-description":!0,children:s.join(" ")})},yh=({id:e})=>ch(mt)===null?null:Sn(wx,{id:e});import{virtualScrollItemElementId as eC}from"@aiquants/virtualscroll";import{useContext as _i}from"react";import{virtualScrollItemElementId as Ph}from"@aiquants/virtualscroll";import{createContext as zx,useCallback as Se,useContext as Kx,useLayoutEffect as qr,useMemo as kh,useRef as Xr,useState as io,useSyncExternalStore as Vh}from"react";import{flushSync as Ii}from"react-dom";var Rh=(e,t)=>e.id===t.id&&e.indexHint===t.indexHint,hh=Object.freeze([]),bh=(e,t)=>e.includes(t)?e:Object.freeze([...e,t]),Sh=(e,t)=>Object.freeze(e.filter(r=>r!==t)),gh=e=>{let t=hh,r=hh,n=e,o=null,a=Object.freeze({selected:n,settled:n}),s=0,i=!1,l=()=>{let R=o===null?n:o;if(!(Rh(a.selected,n)&&Rh(a.settled,R))){a=Object.freeze({selected:n,settled:R});for(let S of t)S()}},d=()=>a,c=R=>(t=bh(t,R),()=>{t=Sh(t,R)}),u=R=>{n=R,l()},y=R=>{let S=o!==null;if(o=R,l(),S!==(o!==null))for(let E of r)E()},m=R=>y(R),p=()=>y(null),f=()=>o!==null,b=R=>(r=bh(r,R),()=>{r=Sh(r,R)}),h=()=>{s+=1},D=R=>{i=R},g=Object.freeze({appliedEpoch:()=>s,pending:()=>i});return{getSnapshot:d,subscribe:c,select:u,hold:m,release:p,isHeld:f,subscribeHold:b,noteKeyStepApplied:h,noteKeyStepsPending:D,keySteps:g}};var Cr=e=>({active:e,effect:"none"}),Eh=(e,t)=>e!==null&&e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex,Rc=(e,{items:t,selected:r,range:n})=>{if(n===null)return e===null?r:e;if(Eh(e,n))return e;if(Eh(r,n))return r;let o=ke(t,n.visibleStartIndex);return o===void 0?null:{reportHubId:o.reportHubId,index:n.visibleStartIndex}},Dh=(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:or(e,r).reportHubId,index:r},effect:"handBack"}},hc=(e,t)=>{switch(t.kind){case"key":return Cr(t.target);case"activation":case"focusInControl":return Cr(t.row);case"focusInComposite":return t.from==="inside"?Cr(e):t.pressed!==null?Cr(t.pressed):{active:Rc(e,t.shown),effect:"reveal"};case"focusLeft":return Cr(Rc(e,t.shown));case"rangeChanged":return Cr(t.focusWithin&&e!==null?e:Rc(e,t.shown));case"listChanged":{if(e===null)return Cr(null);let r=Fe(t.items,e.reportHubId,e.index);return r===-1?Dh(t.items,e.index):Cr(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?Cr(e):Dh(t.items,t.selection.index)}};var gn=e=>e.isComposing||e.keyCode===229,so=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 wi=e=>e.matches(":focus-visible")&&aa(e.ownerDocument)!=="pointer";var Tx="data-daily-report-keyboard-focus",Gr={capture:!0},wh=e=>{let t=Ty(e.ownerDocument),r=i=>{e.toggleAttribute(Tx,Pe(i)&&wi(i))},n=i=>r(i.target),o=i=>{Pe(i.relatedTarget)&&e.contains(i.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,Gr),e.addEventListener("keydown",n,Gr),e.addEventListener("focusout",o,Gr),e.addEventListener("pointerdown",a,Gr);let s=nt(e);return r(s!==null&&e.contains(s)?s:null),()=>{e.removeEventListener("focusin",n,Gr),e.removeEventListener("keydown",n,Gr),e.removeEventListener("focusout",o,Gr),e.removeEventListener("pointerdown",a,Gr),r(null),t()}};var Ax='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',vx='select, input[type="search"], [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',xx=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],Cx=xx.map(e=>`[role="${e}"]`).join(", "),Ix='[aria-expanded="true"]',_x=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),Lx=new Set(["Enter"," "]),Nx=new Map([["Home","exitBefore"],["End","exitAfter"]]),Sc=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=Nx.get(e.key);return r===void 0?null:r}let t=_x.get(e.key);return t!==void 0?t:Lx.has(e.key)?"activate":e.key==="Escape"?"returnToRow":null},bc=(e,t,r,n)=>{let o=e.closest(t);return o!==null&&o!==n&&o!==r&&r.contains(o)},Ox=(e,t,r,n)=>{let o=un(t,r);if(o===null)return null;if(e==="tab")return e;if(e==="activate"||bc(t,Cx,r,n))return null;if(e==="returnToRow"){if(bc(t,vx,r,n))return null;let a=t.closest(Ix);return a!==null&&o.contains(a)?null:e}return bc(t,Ax,r,n)?null:e},Th=(e,{container:t,composite:r})=>{let n=Sc(e);if(n===null||e.defaultPrevented||gn(e)||t===null||r===null||!Pe(e.target)||!t.contains(e.target))return null;let o=e.target,a=o===r?n==="returnToRow"?null:n:Ox(n,o,t,r);return a===null?null:{kind:a,target:o}};var Ti={kind:"stay"},vi=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},Ah=e=>Math.floor(.875*e),Yr=(e,t)=>({kind:"move",index:e,align:t}),Ai=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",Mx=({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},Px=({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},kx=(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 Ti;if(r==="top")return Yr(n-1,"top");let d=i(n-1);return Yr(n-1,Ai(s-d,d,a,-1))}case"next":return n===o-1?Ti:r==="top"?Yr(n+1,"top"):Yr(n+1,Ai(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,Ah(a))};if(n===o-1)return Ti;let d=Mx(t);return Yr(d.index,Ai(d.top,i(d.index),a,1))}case"pageBackward":{if(s<0)return{kind:"reveal",delta:-Math.min(-s,Ah(a))};if(n===0)return Ti;let d=Px(t);return Yr(d.index,Ai(d.top,i(d.index),a,-1))}}},Fx=({index:e,activeRowTop:t,heightOf:r},n)=>xh(n,{index:e,offsetPx:-t},r),vh=(e,t,r,n)=>{let o=r,a=null,s=0;for(let i=0;i<t;i++){let l=kx(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:Fx(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}},gc=({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"},xh=(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},xi=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let s=vi(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:xh(t,i,s),heightOf:s}},Ci=(e,t,r,n)=>{let o=vi(n),a=e.index,s=o(a)-e.offsetPx;for(;s<t&&a<r-1;)a+=1,s+=o(a);return a},Ch=(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 Ih=e=>{if(e!==void 0)for(let t of[...e])t()},_h=({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&&Ih(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),Ih(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 zt={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}},Ec=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),Hx=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),Lh=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),Bx=new Map(Object.values(zt).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),Nh=e=>{let t=Bx.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},Ux=(e,t,r)=>e==="row"||e==="page"?t+r:r,Oh=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:Nh(e)}),Mh=(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",Nh(r)):(e.pending=Ux(e.axis,e.pending,r.amount),Ec)}case"frame":{if(e.fence==="open")return Ec;if(e.fence==="immediate")return e.fence="flush",Hx;if(e.pending===0)return e.fence="open",Ec;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?Lh:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return Lh}};var Dc=zx(null),$x=Object.freeze({kind:"frame"}),Fh={capture:!0},jx=()=>{},Hh=(e,t,r)=>{let n=e.ownerDocument,o=n.defaultView;if(o===null)return jx;let a=!0,s=()=>{a&&(a=!1,i.disconnect(),n.removeEventListener("focusin",s,Fh))},i=new o.MutationObserver(()=>{e.isConnected||(s(),r())});return i.observe(t,{childList:!0,subtree:!0}),n.addEventListener("focusin",s,Fh),s},Gx=Object.freeze({kind:"keyup"}),Yx=Object.freeze({kind:"cancel"}),qx=Object.freeze({previous:Object.freeze({kind:"repeat",step:zt.previous}),next:Object.freeze({kind:"repeat",step:zt.next}),pageBackward:Object.freeze({kind:"repeat",step:zt.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:zt.pageForward}),first:Object.freeze({kind:"repeat",step:zt.first}),last:Object.freeze({kind:"repeat",step:zt.last}),activate:Object.freeze({kind:"repeat",step:zt.activate})}),lo={capture:!0},Xx=e=>e in zt,Qx=(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}},Zx=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),Bh=e=>{let t=qo(e),r=zr(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},Jx=e=>e==="first"||e==="last",Uh=(e,t)=>{let r=Fe(e,t.reportHubId,t.index);return r===-1?null:{reportHubId:t.reportHubId,index:r}},Wh=e=>{let t=Kx(Dc);if(t===null)throw new Error("[daily-report] useListRowState is called outside a view's rows (no row cursor)");let r=Se(a=>t.subscribe(e,a),[t,e]),n=Se(()=>t.rowStateOf(e),[t,e]),o=Vh(r,n,n);return{active:(o&1)!==0,selected:(o&2)!==0}},zh=(e,t)=>{let r=Se(()=>{let n=e.getActiveId();if(n===null)return null;let o=Fe(t,n,e.getActiveIndexHint());return o===-1?null:o},[e,t]);return Vh(e.subscribeActive,r,r)},Kh=({items:e,selectedId:t,onSelect:r,onActivate:n,containerRef:o,rootRef:a,gridId:s,handleRef:i,scroller:l,rowSizing:d,arrowAlign:c})=>{let[u]=io(()=>_h({initialSelectedId:t})),[y]=io(()=>dR(u)),m=Ve(()=>({items:e,onSelect:r,onActivate:n,rowSizing:d,arrowAlign:c})),p=Xr(null),f=Xr(!1),b=Xr(null),h=Xr(!1),D=Xr(null),g=Xr(()=>{}),[R,S]=io(null),[E,v]=io(0),_=Xr(null),O=Ve(()=>{if(t===null)return null;let C=Fe(e,t,null);return C===-1?null:{reportHubId:t,index:C}}),[M]=io(()=>gh({id:t,indexHint:null})),[P,H]=io(0),T=kh(()=>({id:t,indexHint:t===null?null:zm(R,t)}),[t,R]),w=Xr(T);qr(()=>{m.current={items:e,onSelect:r,onActivate:n,rowSizing:d,arrowAlign:c},w.current=T},[m,e,r,n,d,c,T]),qr(()=>{T.indexHint===null&&T.id===M.getSnapshot().selected.id||M.select(T)},[M,T,E]);let A=Se((C,N)=>{let B=D.current;if(B!==null&&B.items===C&&B.reportHubId===N)return B.index;let X=Fe(C,N,B!==null&&B.reportHubId===N?B.index:null);return X!==-1&&(D.current={items:C,reportHubId:N,index:X}),X},[]),x=Se((C,N)=>{D.current={items:m.current.items,reportHubId:C,index:N},S(B=>B!==null&&B.reportHubId===C&&B.index===N?B:{reportHubId:C,index:N}),v(B=>B+1),M.select({id:C,indexHint:N})},[m,M]),U=Se((C,N)=>{D.current={items:m.current.items,reportHubId:N.reportHubId,index:N.index},M.select({id:N.reportHubId,indexHint:N.index}),C.selection=N},[m,M]),k=Se(C=>{Ii(()=>{C.select(C.reportHubId,C.index,"settled"),x(C.reportHubId,C.index),H(N=>N+1)})},[x]),V=Se(()=>{let C=m.current.items,N=u.getSelectedId(),B=N===null?-1:A(C,N);return{items:C,selected:N===null||B===-1?null:{reportHubId:N,index:B},range:p.current}},[u,m,A]),j=Se(C=>{let N=h.current;h.current=!0;try{C()}finally{h.current=N}},[]),W=Se(C=>{O.current=C,u.setActive(C===null?null:C.reportHubId,C===null?null:C.index)},[O,u]),z=Se(C=>{let N=i.current;if(N===null)return null;let{items:B,rowSizing:X}=m.current;return xi(N,C,B.length,X)},[i,m]),de=Se(C=>{let N=z(C);N===null||gc(N)==="whole"||N.activeRowTop<=0&&N.activeRowTop+N.heightOf(C)>=N.viewport||l.toIndex(C,{align:"nearest"})},[z,l]),ge=Se((C,N)=>{let B=o.current;if(B===null)return;let X=m.current.items,ae=O.current,me=null;if(C===null)me=ae;else{let F=Fe(X,C,ae!==null&&ae.reportHubId===C?ae.index:null);F!==-1&&(me={reportHubId:C,index:F},W(me))}me!==null&&de(me.index);let Y=B.ownerDocument,oe=Y.getElementById(s);if(oe===null)return;let Le=me===null?null:Y.getElementById(Ph(s,me.reportHubId));j(()=>Ny(B,oe,Le,N))},[o,m,O,s,W,de,j]),L=Se(C=>{let N=hc(O.current,C);W(N.active),N.effect==="reveal"&&N.active!==null&&de(N.active.index);let B=o.current;N.effect==="handBack"&&f.current&&B!==null&&sn(B)&&ge(N.active===null?null:N.active.reportHubId,"removal")},[o,O,W,de,ge]),K=Se(()=>{f.current&&(f.current=!1,b.current=null,L({kind:"focusLeft",shown:V()}))},[L,V]);qr(()=>{u.settleSelection(t)},[u,t,P]),qr(()=>{t!==null&&A(e,t)},[e,t,A]),qr(()=>{L({kind:"listChanged",items:e})},[e,L]),qr(()=>{let C=a.current;if(C!==null)return wh(C)},[a]),qr(()=>{let C=o.current;if(C===null)return;let N=C.ownerDocument,B=ae=>{let me=o.current,Y=ae.target;if(!(me!==null&&Pe(Y)&&me.contains(Y))){b.current=null,K();return}let Le=ae.pointerType==="touch"?null:un(Y,me);b.current=Le===null?null:Bh(Le)},X=()=>{b.current=null};return N.addEventListener("pointerdown",B,lo),N.addEventListener("pointerup",X,lo),N.addEventListener("pointercancel",X,lo),()=>{N.removeEventListener("pointerdown",B,lo),N.removeEventListener("pointerup",X,lo),N.removeEventListener("pointercancel",X,lo)}},[o,K]);let G=Se((C,N)=>{L({kind:"activation",row:{reportHubId:C,index:N}}),x(C,N)},[L,x]),te=Se(C=>{let N=hc(O.current,{kind:"removed",reportHubId:C,selection:D.current,items:m.current.items});if(N.effect!=="handBack")return;W(N.active);let B=N.active===null?null:N.active.reportHubId;g.current();let X=o.current,ae=X===null?null:nt(X);if(X!==null&&ae!==null&&!sn(X)&&!X.contains(ae)){g.current=Hh(ae,ae.ownerDocument,()=>ge(B,"removal"));return}ge(B,"removal")},[o,m,O,W,ge]),ye=Se((C,N,B,X)=>{let{items:ae,onSelect:me,rowSizing:Y,arrowAlign:oe}=m.current,Le=i.current;if(me===null||Le===null)return;let F=xi(Le,B.index,ae.length,Y);if(F===null)return;let $=vh(C,N,F,oe),se=or(ae,$.index),he=$.index!==B.index,ve=he||X&&Jx(C)&&w.current.id!==se.reportHubId,Ke=_.current;Ii(()=>{he&&L({kind:"key",target:{reportHubId:se.reportHubId,index:$.index}}),ve&&(u.settleSelection(se.reportHubId),Ke!==null&&U(Ke,{reportHubId:se.reportHubId,index:$.index,select:me}),me(se.reportHubId,$.index,Ke===null?"settled":"held")),$.alignment!==null&&l.toIndex($.alignment.index,{align:$.alignment.align}),$.scrollDelta!==0&&l.by($.scrollDelta),ve&&Ke===null&&(x(se.reportHubId,$.index),H(Gt=>Gt+1))})},[u,m,i,l,x,U,L]),ie=Se(C=>{G(C.reportHubId,C.index),m.current.onActivate(C.reportHubId,C.index)},[m,G]),J=Se(C=>{let N=O.current;if(N===null)return;if(C.axis==="activate"){ie(N);return}let B=Qx(C.axis,C.amount);ye(B.command,B.count,N,!1)},[O,ie,ye]),re=Se(C=>{_.current=null,C.frame!==0&&C.view.cancelAnimationFrame(C.frame);let N=C.selection;N!==null&&u.getSelectedId()===N.reportHubId&&k(N),M.release()},[u,M,k]),De=Se((C,N,B)=>{let{apply:X}=N;X!==null&&(N.flush?Ii(()=>J(X)):J(X)),_.current===C&&(N.ended?re(C):N.requestFrame&&(C.frame=C.view.requestAnimationFrame(B)))},[J,re]),q=Se((C,N,B)=>{let X=Mh(C.state,N);M.noteKeyStepsPending(!X.ended&&C.state.pending!==0),N.kind==="frame"&&X.apply!==null&&M.noteKeyStepApplied(),De(C,X,B)},[M,De]),ne=Se(()=>{let C=_.current;C!==null&&(C.frame=0,q(C,$x,ne))},[q]),Ct=Se(()=>{let C=_.current;C!==null&&q(C,Gx,ne)},[q,ne]),Qe=Se(()=>{let C=_.current;C!==null&&q(C,Yx,ne)},[q,ne]),It=Se((C,N)=>{M.hold(w.current);let{state:B,effects:X}=Oh(zt[C]),ae={state:B,view:N,frame:0,selection:null};_.current=ae,De(ae,X,ne)},[M,De,ne]);qr(()=>()=>{g.current();let C=_.current;if(_.current=null,C===null)return;C.frame!==0&&C.view.cancelAnimationFrame(C.frame);let N=C.selection;N!==null&&u.getSelectedId()===N.reportHubId&&N.select(N.reportHubId,N.index,"settled")},[u]);let st=Se((C,N,B)=>{let X=O.current,ae=X===null?null:z(X.index);if(X===null||ae===null||gc(ae)!=="hidden")return;let me=N.ownerDocument.getElementById(Ph(s,X.reportHubId));me===null||!pR(me,C===N?null:C,B)||Ii(()=>l.toIndex(X.index,{align:"nearest"}))},[O,s,l,z]),pt=Se(C=>{let N=_.current,B=N!==null&&C.repeat?Sc(C):null;if(N!==null&&B!==null&&Xx(B)&&zt[B].axis===N.state.axis){C.preventDefault(),q(N,qx[B],ne);return}let X=o.current,ae=X===null?null:X.ownerDocument.getElementById(s),me=m.current.onSelect===null?null:Th(so(C),{container:X,composite:ae});if(Ct(),me===null||X===null||ae===null)return;b.current=null;let{kind:Y}=me;switch(Y){case"exitBefore":case"exitAfter":{let se=uR(X,Y==="exitBefore"?"before":"after");if(se===null)return;C.preventDefault(),se.focus();return}case"tab":st(me.target,ae,C.shiftKey);return;case"returnToRow":C.preventDefault(),j(()=>ae.focus({preventScroll:!0}));return}let oe=O.current;if(Y==="activate"){if(C.preventDefault(),oe===null)return;C.repeat?It(Y,Ge(X)):ie(oe);return}if(oe===null)return;let{items:Le,rowSizing:F}=m.current,$=i.current;$===null||xi($,oe.index,Le.length,F)===null||(C.preventDefault(),C.repeat?It(Y,Ge(X)):ye(Y,1,oe,!0),me.target!==ae&&j(()=>ae.focus({preventScroll:!0})))},[m,o,s,i,O,ne,q,Ct,It,st,ie,ye,j]),it=Se(()=>{Ct()},[Ct]),ht=Se(C=>{let N=o.current,B=C.target;if(N===null)return;f.current=!0;let X=N.ownerDocument.getElementById(s),ae=b.current;if(b.current=null,B===X){let Ke=h.current||Pe(C.relatedTarget)&&N.contains(C.relatedTarget)?"inside":"outside";L(Ke==="inside"?{kind:"focusInComposite",from:Ke}:{kind:"focusInComposite",from:Ke,pressed:ae===null?null:Uh(m.current.items,ae),shown:V()});return}let me=un(B,N),Y=me===null?null:Bh(me),oe=Y===null?null:Uh(m.current.items,Y);if(me===null||oe===null||!Pe(B))return;L({kind:"focusInControl",row:oe}),g.current(),g.current=Hh(B,me,()=>ge(null,"removal"));let Le=i.current;if(Le===null||X===null||!wi(B))return;let F=X.getBoundingClientRect(),$=me.getBoundingClientRect(),se=$.height<=F.height?$:Zx(B.getBoundingClientRect(),pr),he=Ch(se,F),ve=Le.getViewportSize();he===0||!(ve>0&&F.height>0)||l.by(he*ve/F.height)},[o,s,m,i,l,L,V,ge]),$t=Se(C=>{let N=o.current,B=C.relatedTarget,X=Pe(B)?N?.contains(B)?"view":"outside":"nowhere";X!=="view"&&Qe(),X==="outside"&&K()},[o,Qe,K]),jt=Se(C=>{p.current={visibleStartIndex:C.visibleStartIndex,visibleEndIndex:C.visibleEndIndex},L({kind:"rangeChanged",focusWithin:f.current,shown:V()})},[L,V]),Tt=kh(()=>({onKeyDown:pt,onKeyUp:it,onPointerDownCapture:Qe,onWheelCapture:Qe,onTouchStartCapture:Qe,onFocus:ht,onBlur:$t}),[pt,it,Qe,ht,$t]);return{cursor:u,controls:y,containerProps:Tt,handleRangeChange:jt,selection:T,selectionStore:M,resolveSelectedIndex:A,rememberSelection:x,activateRow:G,focusViewRow:ge,focusAfterRemoval:te}};import{jsx as Li}from"react/jsx-runtime";var Ie=(e,t)=>`${e}-${t}`,Ni=e=>eC(bf(),e),co=Object.freeze([]),tC="data-daily-report-row-shell",wc=Object.freeze({...Nt,[tC]:"",className:`h-full w-full ${Ot}`}),Oi=Li("div",{...wc}),rC=(e,t,r)=>r===Kr?e.listRowPositionInUnknownTotal(t+1):e.listRowPosition(t+1,r),uo=({id:e,whileTotalUnknownOnly:t})=>{let{labels:r}=Q(),n=_i(mn),o=_i(pn);return t&&o!==Kr?null:Li("span",{id:e,hidden:!0,children:rC(r,n,o)})},Mi=({reportHubId:e,rowId:t,name:r,className:n,style:o,onMouseDown:a,frameRef:s,children:i})=>{let{active:l,selected:d}=Wh(e),c=cR(e),u=_i(mn),y=_i(pn),m=r.kind==="parts",p=m&&y===Kr?[...r.describedBy,Ie(t,"position")]:r.describedBy,f=p.length===0?void 0:p.join(" ");return Li(Qd.Provider,{value:c,children:Li("div",{ref:s,role:"row",id:t,[Ds]:e,"aria-rowindex":u+1,"aria-posinset":u+1,"aria-setsize":y,"aria-level":1,"aria-selected":d,[uu]:l?"":void 0,"aria-labelledby":m?Ie(t,"name"):void 0,"aria-describedby":f,"aria-label":m?void 0:r.label,"aria-busy":!m&&r.isBusy?!0:void 0,className:n,style:o,onMouseDown:a,children:i})})};import{Fragment as oC,jsx as Pi,jsxs as aC}from"react/jsx-runtime";var nC=We(Au),$h=e=>e.name===void 0||e.name===e.label?null:e.name,jh=e=>{let t=$h(e);return t===null?e.label:t},po=({config:e,id:t})=>{let r=$h(e);return Pi("span",{id:t,className:nC(e.badgeClassName),children:r===null?e.label:aC(oC,{children:[Pi("span",{"aria-hidden":"true",children:Pi("abbr",{title:r,children:e.label})}),Pi("span",{className:er,children:r})]})})};import{jsx as ki,jsxs as sC}from"react/jsx-runtime";var Fi=({state:e,attachmentCount:t,sourceConfig:r,preview:n,marks:o,marksStore:a,labels:s})=>{let i=[{part:"state",text:e,imageName:null}];return t>0&&i.push({part:"attachments",text:()=>El(t),imageName:()=>gl(s.attachments,t)}),r!==void 0&&i.push({part:"source",text:()=>jh(r),imageName:null}),n!==null&&i.push({part:"preview",text:n,imageName:null}),a!==null&&i.push({part:"match",text:()=>Ei(o,a.indicator,s),imageName:null}),i},ma=(e,t)=>t.map(({part:r})=>Ie(e,r)),Hi=({rowId:e,name:t,description:r})=>{let n=Ie(e,"name");return sC("div",{...wc,"aria-labelledby":t===null?void 0:n,children:[t===null?null:ki("span",{id:n,hidden:!0,children:t}),r.map(({part:o,text:a,imageName:s})=>s===null?ki("span",{id:Ie(e,o),hidden:!0,children:a()},o):ki("span",{id:Ie(e,o),hidden:!0,role:"img","aria-label":s(),children:a()},o)),t===null?null:ki(uo,{id:Ie(e,"position"),whileTotalUnknownOnly:!0})]})};var iC=()=>{},Bi=(e,t,r,n)=>{let o=null;return{read:()=>{let a=e.read(r),s=t===null?void 0:t.read(r),i=s===void 0?null:s;return(o===null||!Object.is(o.detail,a)||!Object.is(o.marks,i))&&(o=Object.freeze({detail:a,marks:i,marksStore:t})),o},subscribe:a=>{let s=e.subscribe(r,n,a),i=t===null?iC:t.subscribe(r,a);return()=>{s(),i()}},changesBox:(a,s)=>a.detail!==s.detail}};import wC from"lucide-react/dist/esm/icons/pencil.js";import TC from"lucide-react/dist/esm/icons/trash-2.js";import{jsx as Gh}from"react/jsx-runtime";var Vi=24,Yh=2,lC=20,Ui=5,dC=3,cC=()=>{let e=Math.cos(2*Math.PI/Ui)/Math.cos(Math.PI/Ui),t=Array.from({length:2*Ui},(y,m)=>{let p=-Math.PI/2+m*Math.PI/Ui,f=m%2===0?1:e;return{x:f*Math.cos(p),y:f*Math.sin(p)}}),r=t.map(y=>y.x),n=t.map(y=>y.y),[o,a,s,i]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],l=(lC-Yh)/(a-o),d=Vi/2-l*(o+a)/2,c=Vi/2-l*(s+i)/2,u=y=>String(Number(y.toFixed(dC)));return t.map(y=>`${u(d+l*y.x)},${u(c+l*y.y)}`).join(" ")},uC=cC(),mo=({filled:e})=>Gh("svg",{viewBox:`0 0 ${Vi} ${Vi}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:Yh,strokeLinejoin:"round",className:e?et.starOn:et.starOff,children:Gh("polygon",{points:uC})});import mC from"lucide-react/dist/esm/icons/check.js";import fC from"lucide-react/dist/esm/icons/refresh-cw.js";import{jsx as qh}from"react/jsx-runtime";var Wi=24,pC=6,Xh=()=>qh("svg",{viewBox:`0 0 ${Wi} ${Wi}`,"aria-hidden":"true",className:et.read,children:qh("circle",{cx:Wi/2,cy:Wi/2,r:pC,fill:"currentColor"})});import{jsx as zi}from"react/jsx-runtime";var yC="data-daily-report-updated-since-read",fo=({readState:e})=>e==="unread"?zi(Xh,{}):e==="updatedSinceRead"?zi(fC,{className:et.read}):zi(mC,{className:et.read}),En=(e,t)=>e==="read"?t.markUnread:e==="unread"?t.markRead:t.markUpdateRead,yo=({readState:e,label:t})=>e==="updatedSinceRead"?zi("span",{[yC]:"","aria-hidden":"true",className:Tu,children:t}):null;import{jsx as hC}from"react/jsx-runtime";var RC=/^(\d{4}-\d{2}-\d{2})(?:T(\d{2}:\d{2}):\d{2})?$/,Dn=({text:e})=>{let t=RC.exec(e);if(t===null)return e;let[,r,n]=t;return hC("time",{dateTime:e,children:n===void 0?r:`${r} ${n}`})};import{Fragment as DC,jsx as Ye,jsxs as Tc}from"react/jsx-runtime";var bC=We("m-0"),Et=({label:e,classNames:t,valueId:r,children:n})=>Tc("div",{className:t.field,children:[Ye("dt",{className:t.label,children:e}),Ye("dd",{id:r,className:bC(t.value),children:n})]}),SC=`mt-2 font-semibold ${ue} text-xs uppercase tracking-wide first:mt-0`,gC=`m-0 flex flex-col rounded-xl bg-slate-100 p-3 ${ue} text-xs dark:bg-slate-800/60`,EC="m-0 mt-1 text-slate-700 text-sm dark:text-slate-200",Qr=({label:e,children:t})=>Tc(DC,{children:[Ye("dt",{className:SC,children:e}),Ye("dd",{className:EC,children:t})]}),Qh=({report:e,visitTimeDisplay:t,labels:r})=>{let n=Br(e.category),o=Br(e.creationCategory);return Tc("dl",{className:gC,children:[Ye(Qr,{label:r.author,children:Ye(we,{fieldKey:Te.field("author"),raw:e.author,display:$e(e.author)})}),Ye(Qr,{label:r.createdAt,children:Ye(Dn,{text:Ne(e.createdAt)})}),Ye(Qr,{label:r.updatedBy,children:Ye(we,{fieldKey:Te.field("updatedBy"),raw:e.updatedBy,display:$e(e.updatedBy)})}),Ye(Qr,{label:r.updatedAt,children:Ye(Dn,{text:Ne(e.updatedAt)})}),Ye(Qr,{label:r.businessDate,children:Ye(Dn,{text:Ne(e.date)})}),t!==null&&Ye(Qr,{label:r.visitTime,children:t}),n.text.length>0&&Ye(Qr,{label:r.category,children:Ye(we,{fieldKey:Te.field("category"),raw:e.category,display:n})}),o.text.length>0&&Ye(Qr,{label:r.creationCategory,children:Ye(we,{fieldKey:Te.field("creationCategory"),raw:e.creationCategory,display:o})})]})};import{jsx as Ae,jsxs as Jh}from"react/jsx-runtime";var Ki={field:I(Je,"gap-1 whitespace-nowrap bg-slate-100 text-slate-800 dark:bg-slate-800 dark:text-slate-100"),label:`${ue} text-xs uppercase tracking-wide`,value:""},AC={field:I(Je,"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-800 text-xs uppercase tracking-wide dark:text-blue-300",value:""},Zh={field:I(Je,"gap-1 whitespace-nowrap bg-amber-100 text-amber-900 dark:bg-amber-500/15 dark:text-amber-200"),label:"text-amber-900 text-xs uppercase tracking-wide dark:text-amber-300",value:""},vC=`flex flex-wrap items-center gap-2 font-medium ${ue} text-xs`,eb=({report:e,readState:t,isStarred:r,onToggleRead:n,onToggleStar:o,onEdit:a,editButtonRef:s,onDelete:i,sourceConfig:l,visitTimeDisplay:d,markerIds:c,labels:u})=>{let y=r?u.starRemove:u.starAdd,m=En(t,u),p=Br(e.category),f=Br(e.creationCategory);return Jh("div",{className:vC,children:[Ae(Ao,{id:c.attachments,count:e.attachments.length,label:u.attachments}),l?Ae(po,{id:c.source,config:l}):null,Ae(yo,{readState:t,label:u.updatedSinceRead}),Ae(ot,{render:b=>Ae("button",{type:"button",onClick:o,...b,className:dt,title:y,"aria-label":y,"data-detail-star-button":e.reportHubId,children:Ae(mo,{filled:r})})}),Ae(ot,{render:b=>Ae("button",{type:"button",onClick:n,...b,className:dt,title:m,"aria-label":m,"data-detail-read-button":e.reportHubId,children:Ae(fo,{readState:t})})}),a&&Ae(ot,{elementRef:s,render:b=>Ae("button",{type:"button",onClick:a,...b,"data-detail-edit-button":e.reportHubId,className:dt,title:u.edit,"aria-label":u.edit,children:Ae(wC,{className:et.edit})})}),i&&Ae(ot,{render:b=>Ae("button",{type:"button",onClick:i,...b,"data-detail-delete-button":e.reportHubId,className:dt,title:u.deleteReport,"aria-label":u.deleteReport,children:Ae(TC,{className:et.delete})})}),Jh("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[Ae(Et,{label:u.id,classNames:AC,children:e.reportHubId}),Ae(Et,{label:u.businessDate,classNames:Ki,children:Ae(Dn,{text:Ne(e.date)})}),Ae(Et,{label:u.author,classNames:Ki,children:Ae(we,{fieldKey:Te.field("employeeName"),raw:e.employeeName,display:$e(e.employeeName)})}),Ae(Et,{label:u.visitTime,classNames:Ki,children:Ur(d)}),Ae(Et,{label:u.updatedAt,classNames:Ki,children:Ae(Dn,{text:Ne(e.updatedAt)})}),p.text.length>0&&Ae(Et,{label:u.category,classNames:Zh,children:Ae(we,{fieldKey:Te.field("category"),raw:e.category,display:p})}),f.text.length>0&&Ae(Et,{label:u.creationCategory,classNames:Zh,children:Ae(we,{fieldKey:Te.field("creationCategory"),raw:e.creationCategory,display:f})})]}),Ae(Di,{isEditing:!1,descriptionId:c.searchMatch})]})};import{useLayoutEffect as tb,useRef as rb}from"react";import{jsx as IC}from"react/jsx-runtime";var xC=I(Hr,_a,La,Ia,"h-full"),CC=(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()}}},nb=({itemId:e,rowId:t,name:r,bodyReady:n,observeRowHeight:o,children:a})=>{let s=rb(null),i=Sf(e),l=rb(null);return tb(()=>{let d=s.current,c=d===null||!n?null:d.firstElementChild,u=c instanceof HTMLElement?c:null,y=l.current;y!==null&&y.body===u&&y.declareBody===i&&y.observeRowHeight===o||(y!==null&&y.release(),l.current=CC(u,i,o))}),tb(()=>()=>{l.current?.release(),l.current=null},[]),IC(Mi,{reportHubId:e,rowId:t,name:r,className:xC,frameRef:s,children:a})};import{jsx as ee,jsxs as at}from"react/jsx-runtime";var LC=I("flex w-full flex-col gap-4",Ot,Ma,Fr),NC=I(Ot,Fr),OC=I("rounded-2xl",Fr),MC=I("rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-800 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",Fr),ut="bg-slate-200 dark:bg-slate-700",PC=I("whitespace-pre-wrap",Oa),kC=I(Je,"bg-slate-100 text-xs dark:bg-slate-800",ue),FC=({interviewer:e,index:t,template:r})=>{let n=Ro(()=>$e(e.name),[e.name]),o=ee(we,{fieldKey:Te.interviewer(t,"name"),raw:e.name,display:n},"name"),a=e.affiliation;if(!a?.trim())return o;let s=Ky(r,n.text,a);return s===null?r(n.text,a):s.map(i=>i.kind==="text"?i.text:i.kind==="name"?o:ee(we,{fieldKey:Te.interviewer(t,"affiliation"),raw:a,display:Pt(a)},"affiliation"))},HC=e=>({heading:Ie(e,"name"),state:Ie(e,"state"),attachments:Ie(e,"attachments"),source:Ie(e,"source"),searchMatch:Ie(e,"match")}),sb=e=>`${Ne(e.date)} ${Ur(e.employeeName)} ${Ur(e.subject)}`,ib=(e,t,r)=>{let n=t.get(e.reportHubId),o=r.get(e.reportHubId);return{isRead:n===void 0?e.isRead:n.isRead,readContentDigest:n===void 0?e.readContentDigest:n.readContentDigest,isStarred:o===void 0?e.isStarred:o}},lb=(e,t,r)=>Rr({isRead:t.isRead,readContentDigest:t.readContentDigest,contentDigest:e.contentDigest,userId:e.userId},r),BC=({report:e,viewerUserId:t,isEditing:r,sourceConfig:n,ledgers:o,marks:a,marksStore:s,labels:i})=>r?[{part:"state",text:()=>i.rowEditingState({isDraft:e.isDraft}),imageName:null}]:Fi({state:()=>{let l=ib(e,o.pendingReadUpdates.current,o.pendingStarUpdates.current);return i.rowState({readState:lb(e,l,t),isStarred:l.isStarred})},attachmentCount:e.attachments.length,sourceConfig:n,preview:null,marks:a,marksStore:s,labels:i}),UC=at("div",{...Nt,className:NC,children:[at("div",{className:"mb-4 flex flex-wrap gap-2",children:[ee("div",{className:I("h-6 w-20 rounded-full",ut)}),ee("div",{className:I("h-6 w-24 rounded-full",ut)}),ee("div",{className:I("h-6 w-24 rounded-full",ut)}),ee("div",{className:I("h-6 w-28 rounded-full",ut)})]}),at("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[at("div",{className:"space-y-4",children:[ee("div",{className:I("h-5 w-40 rounded",ut)}),ee("div",{className:I("h-5 w-56 rounded",ut)}),ee("div",{className:I("h-24 rounded-xl",ut)})]}),at("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[ee("div",{className:I("mb-2 h-4 w-24 rounded",ut)}),ee("div",{className:I("mb-2 h-4 w-28 rounded",ut)}),ee("div",{className:I("h-4 w-32 rounded",ut)})]})]}),at("div",{className:"space-y-4",children:[ee("div",{className:I("h-4 w-24 rounded",ut)}),at("div",{className:"flex flex-wrap gap-2",children:[ee("div",{className:I("h-6 w-16 rounded-full",ut)}),ee("div",{className:I("h-6 w-16 rounded-full",ut)}),ee("div",{className:I("h-6 w-16 rounded-full",ut)})]}),at("div",{className:"space-y-2",children:[ee("div",{className:I("h-16 rounded-xl",ut)}),ee("div",{className:I("h-16 rounded-xl",ut)})]})]})]}),VC=()=>UC,WC=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n})=>{let o=an(),a=_C(mt),s=Ro(()=>Bi(o,a,e.reportHubId,e.businessDate),[o,a,e.reportHubId,e.businessDate]),{bodyReady:i,rendered:l}=Is(e.reportHubId,s,"measured"),{report:d,error:c}=l.detail,u=l.marksStore===a?l.marks:null,{report:y,error:m,isLoading:p,isRefetching:f}=s.read().detail,b=Ni(e.reportHubId),h=_y(),D=ct(),{removeStaleItem:g}=D,{labels:R,sourceTypeConfigs:S}=Q(),E=$r(),v=ei(e.reportHubId),_=v==="editing"||v==="automatic",O=Ac(!1),M=Ac(!1),P=y===null&&m===null&&!p&&!f;ob(()=>{P&&e.reportHubId>0&&g(e.reportHubId)},[P,e.reportHubId,g]);let H=y?.isDraft===!0,T=fn(y,n),w=fn(d,n),A=Ac(s);ab(()=>{A.current=s},[s]);let x=wn(()=>{let te=A.current.read().detail.report;te!==null&&(O.current=!0,E.open(e.reportHubId,ao(te),!1))},[E,e.reportHubId]),U=wn(()=>{M.current=!0,E.dismiss(e.reportHubId)},[E,e.reportHubId]),k=wn(()=>{M.current=!0,E.discard(e.reportHubId)},[E,e.reportHubId]),V=wn(te=>{te===null||!O.current||(O.current=!1,te.focus())},[]),j=wn(te=>{te===null||!M.current||(M.current=!1,te.focus())},[]);ab(()=>{_||(M.current=!1)},[_]),ob(()=>{y!==null&&(T&&H&&v==="display"?E.open(e.reportHubId,ao(y),!0):!H&&v==="automatic"&&E.discard(e.reportHubId))},[y,T,H,v,E,e.reportHubId]);let W=wn(()=>h(e.reportHubId,"removal"),[h,e.reportHubId]),z=d===null?void 0:gr(d.sourceType,S),de=d===null&&(p||y!==null||m!==null),ge=Ne(e.businessDate),L=Ie(b,"state"),K=c===null&&d!==null?{report:d,description:BC({report:d,viewerUserId:n,isEditing:_,sourceConfig:z,ledgers:D,marks:u,marksStore:a,labels:R})}:null,G=K!==null?_?{kind:"label",label:ge,isBusy:!1,describedBy:ma(b,K.description)}:{kind:"parts",describedBy:ma(b,K.description)}:i?{kind:"label",label:ge,isBusy:c===null&&de,describedBy:c===null?co:[L]}:{kind:"label",label:ge,isBusy:!0,describedBy:co};return ee(nb,{itemId:e.reportHubId,rowId:b,name:G,bodyReady:i,observeRowHeight:t,children:i?c!==null?ee(zC,{itemId:e.reportHubId,stateId:L}):d?_?ee(ub,{report:d,stateId:L,onCancel:U,onPublishSuccess:k,titleInputRef:V}):ee(ro,{reportHubId:e.reportHubId,entry:u,children:ee(cb,{item:e,report:d,sourceConfig:z,rowId:b,onCommentAdded:r,userId:n,onEdit:w?x:void 0,editButtonRef:j,onCommentSectionRemoved:W})}):ee(VC,{}):K===null?Oi:ee(Hi,{rowId:b,name:_?null:sb(K.report),description:K.description})})},db=vc(WC),cb=vc(({item:e,report:t,sourceConfig:r,rowId:n,onCommentAdded:o,userId:a,onEdit:s,editButtonRef:i,onCommentSectionRemoved:l})=>{let{toggleStar:d,toggleRead:c,pendingStarUpdates:u,pendingReadUpdates:y,deleteReport:m}=ct(),{labels:p,headingLevel:f}=Q(),b=jr[f],h=Ja(t.sourceType,r),D=HC(n),g=wn(()=>o?.(e.reportHubId),[o,e.reportHubId]),R=ib(t,y.current,u.current),{isStarred:S}=R,E=lb(t,R,a),v=fn(t,a),_=async()=>{try{await c(t.reportHubId,Ln(E,t.contentDigest),t.date)}catch{}},O=async()=>{try{await d(t.reportHubId,!S,t.date)}catch{}},M=async()=>{if(confirm(p.confirmDelete))try{await m(t.reportHubId,t.date)}catch{}},P=Ro(()=>op(t.content??null),[t.content]),H=Ro(()=>$e(t.customerName),[t.customerName]),T=Ro(()=>$e(t.subject),[t.subject]),w=Ro(()=>{let A=t.visitTimeFrom?.trim(),x=t.visitTimeTo?.trim();return A&&x?`${A} - ${x}`:A||x||null},[t.visitTimeFrom,t.visitTimeTo]);return at("div",{...Nt,"aria-labelledby":D.heading,onDoubleClick:s,className:LC,children:[ee(vt,{level:f,id:D.heading,tabIndex:-1,...Ts,className:er,children:sb(t)}),ee("span",{id:D.state,className:er,children:p.rowState({readState:E,isStarred:S})}),ee(uo,{id:Ie(n,"position"),whileTotalUnknownOnly:!0}),ee(eb,{report:t,sourceConfig:r,readState:E,isStarred:S,onToggleRead:_,onToggleStar:O,onEdit:s,editButtonRef:i,onDelete:v?M:void 0,visitTimeDisplay:w,markerIds:D,labels:p}),at("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[at("div",{className:"flex flex-col gap-4",children:[at("div",{className:"grid gap-4 sm:grid-cols-2",children:[at("div",{className:"flex flex-col gap-1",children:[ee(vt,{level:b,className:fr,children:p.customer}),ee("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:ee(we,{fieldKey:Te.field("customerName"),raw:t.customerName,display:H})})]}),at("div",{className:"flex flex-col gap-1",children:[ee(vt,{level:b,className:fr,children:p.subject}),ee("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:ee(we,{fieldKey:Te.field("subject"),raw:t.subject,display:T})})]})]}),P.text.length>0&&at("div",{className:"flex flex-col gap-2",children:[ee(vt,{level:b,className:fr,children:p.content}),ee("div",{className:PC,children:ee(we,{fieldKey:Te.field("content"),raw:t.content,display:P})})]}),t.interviewers.length>0&&at("div",{className:"flex flex-col gap-2",children:[ee(vt,{level:b,className:fr,children:p.interviewers}),ee("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map((A,x)=>ee("li",{className:kC,children:ee(FC,{interviewer:A,index:x,template:p.interviewerWithAffiliation})},JSON.stringify([A.name,A.affiliation])))})]}),ee(fi,{attachments:t.attachments}),ee(ua,{report:t,userId:a,canComment:h,onCommentAdded:g,onSectionRemoved:l,formPlacement:"after-section"})]}),ee(Qh,{report:t,visitTimeDisplay:w,labels:p})]})]})});cb.displayName="DailyReportResolvedItem";var ub=vc(({report:e,stateId:t,onCancel:r,onPublishSuccess:n,titleInputRef:o})=>{let{labels:a}=Q();return at("div",{...Nt,className:OC,children:[ee("span",{id:t,className:er,children:a.rowEditingState({isDraft:e.isDraft})}),ee(gi,{report:e,onCancel:r,onPublishSuccess:n,titleInputRef:o})]})});ub.displayName="DailyReportEditingBody";var zC=({itemId:e,stateId:t})=>{let{labels:r}=Q();return ee("div",{...Nt,className:MC,children:ee("p",{id:t,children:r.reportLoadFailed(e)})})};import{VirtualScroll as JC,virtualScrollItemElementId as eI}from"@aiquants/virtualscroll";import{useCallback as $i,useContext as tI,useId as bb,useMemo as _c,useRef as rI,useState as Sb}from"react";import{createContext as KC}from"react";var xc=KC(null);import{createContext as $C,useContext as jC,useLayoutEffect as GC}from"react";var pb=()=>{let e=!1;return{request:()=>{e=!0},isPending:()=>e,take:()=>{let t=e;return e=!1,t}}},Cc=$C(null),mb=(e,t)=>{let r=jC(Cc);GC(()=>{r===null||!r.isPending()||e.current===null||(r.take(),t(null,"handOver"))})};import{useCallback as fb,useLayoutEffect as yb,useMemo as Rb,useRef as Ic}from"react";var YC=(e,t,r,n)=>{for(let o=r;o<=n;o++){let a=ke(e,o);if(a===void 0||a.reportHubId!==ke(t,o)?.reportHubId)return!0}return!1},qC=(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}},XC=(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}},QC=(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"?qC(e.index,a,n.rowHeight,r.length):XC(e.index,a,vi(n),r.length);return{reportHubId:or(r,s).reportHubId,index:s,offsetPx:i,lastVisibleIndex:Ci({index:s,offsetPx:i},o,r.length,n),recordedAt:t}},ZC=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=Fe(t,or(e,n).reportHubId,n-1);if(o!==-1)return o}return-1},hb=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=Ic(null),a=Ic(e),s=Ic(r),i=fb(()=>{let c=t.current,u=c===null?-1:c.getScrollPosition(),y=c===null||!(u>0)?null:c.getScrollAnchor(),m=a.current,p=y===null?void 0:ke(m,y.index),f=c===null?0:c.getViewportSize();o.current=y===null||p===void 0||!(f>0)?null:{reportHubId:p.reportHubId,index:y.index,offsetPx:y.offsetPx,lastVisibleIndex:Ci(y,f,m.length,s.current),recordedAt:u}},[t]),l=Rb(()=>({toIndex:(c,u)=>{let y=t.current;y!==null&&(y.scrollToIndex(c,u),i())},by:c=>{let u=t.current;u!==null&&(u.scrollBy(c),i())},resizeRow:(c,u)=>{let y=t.current;y!==null&&(y.updateItemSize(c,u),i())},reestimate:c=>{let u=t.current;u!==null&&(u.setItemHeightEstimate(c),i())}}),[t,i]);yb(()=>{let c=a.current;a.current=e;let u=o.current,y=t.current;if(c===e||u===null||y===null||n())return;let m=QC(u,y.getScrollPosition(),c,s.current,y.getViewportSize());if(m===null){o.current=null;return}let p=Fe(e,m.reportHubId,m.index),f=p===-1?ZC(c,e,m):p;if(f===-1){o.current=null;return}if(f===m.index&&!YC(c,e,m.index,m.lastVisibleIndex)){o.current=m;return}y.scrollToIndex(f,{align:"top",offset:-m.offsetPx}),o.current={reportHubId:or(e,f).reportHubId,index:f,offsetPx:m.offsetPx,lastVisibleIndex:Ci({index:f,offsetPx:m.offsetPx},y.getViewportSize(),e.length,r),recordedAt:y.getScrollPosition()}},[e,t,r,n]),yb(()=>{s.current=r},[r]);let d=fb(c=>{if(c.cause!=="clamp"){i();return}let u=o.current;u!==null&&(o.current={...u,recordedAt:u.recordedAt+c.delta})},[i]);return Rb(()=>({handleRangeChange:i,handleScrollAdjust:d,scroller:l}),[i,d,l])};import{jsx as ho}from"react/jsx-runtime";var nI=Object.freeze({skipFar:!0}),oI=(e,t)=>{let r=null,n=new Map;return a=>{let s=e.current;s!==r&&(r=s,n.clear());let i=n.get(a);if(i!==void 0)return i;let l=Fe(s,a,t(a)),d=l===-1?null:l;return n.set(a,d),d}},ji=({containerRef:e,testId:t,itemsRef:r,rowSetSize:n,isViewRevealPending:o,onRangeChange:a,...s})=>{let i=rI(null),l=$i(A=>(i.current=A,()=>{i.current=null}),[]),{labels:d}=Q(),c=bb(),{handleRangeChange:u,handleScrollAdjust:y,scroller:m}=hb({items:s.items,handleRef:i,rowSizing:s.rowSizing,isRevealPending:o}),{handleRangeChange:p,...f}=Kh({...s,containerRef:e,handleRef:i,scroller:m,gridId:c}),{cursor:b,controls:h,selectionStore:D,focusViewRow:g}=f,R=tI(xc),[S]=Sb(()=>R===null?null:R.instrumentView({hostTestId:t,readHandle:()=>i.current,readItems:()=>r.current,reveal:m.toIndex})),[E]=Sb(()=>hf({gridId:c,isHolding:()=>D.isHeld(),subscribeHold:A=>D.subscribeHold(A),keySteps:D.keySteps,activeIndex:()=>{let A=b.getActiveId(),x=A===null?-1:Fe(r.current,A,b.getActiveIndexHint());return x===-1?null:x},indexOf:oI(r,A=>{let x=e.current,U=x===null?null:x.ownerDocument.getElementById(eI(c,A)),k=U===null?null:zr(U);return k===null?null:k-1}),pane:()=>{let A=i.current,x=A===null?-1:A.getScrollPosition();return A===null||x===-1?null:{range:A.getRange(),position:x}},observe:S===null?void 0:S.observeRowPass})),v=$i(A=>{y(A),!(S===null||A.cause!=="re-estimate")&&S.observeReEstimate(D.isHeld()||e.current?.hasAttribute(kr)===!0)},[y,S,D,e]),_=$i(A=>{e.current=A;let x=S===null?null:S.attach(A);return()=>{x!==null&&x(),e.current=null}},[e,S]);mb(e,g);let O=bb(),M=s.onSelect!==null,P=$i(A=>{p(A),u(),a(A)},[p,u,a]),H=_c(()=>({role:sd,id:c,tabIndex:0,"aria-label":d.title,"aria-describedby":M?O:void 0,"aria-rowcount":n}),[c,d.title,M,O,n]),T=_c(()=>M?ho("span",{id:O,className:"sr-only",children:d.listKeyboardHelp}):null,[M,O,d.listKeyboardHelp]),w=_c(()=>({cursor:b,controls:h,rowPass:E,focusViewRow:g}),[b,h,E,g]);return{...f,handleRangeChange:P,handleScrollAdjust:v,attachVirtualScroll:l,handleRef:i,scroller:m,attachScrollContainer:_,contentProps:H,keyboardHelp:T,rowPass:E,rowScope:w}},Gi=({rowScope:e,items:t,...r})=>{let n=zh(e.cursor,t);return ho(Dc.Provider,{value:e.cursor,children:ho(Xd.Provider,{value:e.controls,children:ho(Cs.Provider,{value:e.rowPass,children:ho(Fd.Provider,{value:e.focusViewRow,children:ho(JC,{...r,activeItemIndex:n,activeItemVisibleInset:pu,itemZones:nI})})})})})};import{useCallback as aI,useContext as gb,useEffect as Eb,useMemo as sI,useState as iI}from"react";var Db=e=>{let t=e;for(;t<Bl;)t+=Hn;return t>=Vo+Hn&&(t-=Hn*Math.floor((t-Vo)/Hn)),t},lI=(e,t,r)=>e===null||t<e.start||r>e.end?{start:t-Vo,end:r+Vo}:{start:t-Db(t-e.start),end:r+Db(e.end-r)},Yi=e=>{for(let t of e.values())t();e.clear()},wb=(e,t)=>{for(let[r,n]of e)t.has(r)||(n(),e.delete(r))},dI=()=>{let e=null,t=new Map,r=new Map,n=null,o=null,a=()=>{},s=()=>{Yi(t),Yi(r),e=null,o=null};return{releaseAll:s,evaluate:(i,l)=>{if(i!==null&&(n=i),n===null)return;if(l.detailSource!=="ids"){s();return}o!==null&&o.detailStore!==l.detailStore&&(Yi(t),e=null),o!==null&&o.marksStore!==l.marksStore&&Yi(r),e=lI(e,n.renderingStartIndex,n.renderingEndIndex);let d=Math.max(0,e.start),c=Math.min(l.itemCount-1,e.end);if(o!==null&&o.detailStore===l.detailStore&&o.marksStore===l.marksStore&&o.from===d&&o.to===c&&o.getItem===l.getItem)return;o={detailStore:l.detailStore,marksStore:l.marksStore,getItem:l.getItem,from:d,to:c};let u=new Map;for(let p=d;p<=c;p++){let f=l.getItem(p);f.reportHubId>0&&u.set(f.reportHubId,f.businessDate)}let{detailStore:y,marksStore:m}=l;for(let[p,f]of u)t.has(p)||t.set(p,y.subscribe(p,f,a)),m!==null&&!r.has(p)&&r.set(p,m.subscribe(p,a));wb(t,u),wb(r,u)}}},qi=({itemCount:e,getItem:t})=>{let r=gb(Bn),n=an(),o=gb(mt),[a]=iI(dI),s=sI(()=>({detailSource:r,detailStore:n,marksStore:o,itemCount:e,getItem:t}),[r,n,o,e,t]),i=aI(l=>a.evaluate(l,s),[a,s]);return Eb(()=>{a.evaluate(null,s)},[a,s]),Eb(()=>()=>a.releaseAll(),[a]),i};import{Fragment as hI,jsx as cr,jsxs as RI}from"react/jsx-runtime";var vb={pointerDragInputs:is,wheelSpeedMultiplier:ts,inertiaOptions:Yn(!1),enableKeyboardNavigation:!1},cI={...vb,inertiaOptions:Yn(!0)},Ab="daily-report-detail-list",uI=I("relative w-full",Va,Ua,Wa),pI=I(Mt,"relative"),mI=300,fI=e=>{let t=of({seedPx:dm,quantumPx:cm});for(let r of e.values())t.record(null,r);return t},Nc=e=>{let t=Dt(null),[r,n]=An(null),o=hs(t),a=qn(r),s=qe(i=>(t.current=i,n(i),()=>{t.current=null,n(null)}),[]);return cr("div",{ref:s,className:Fa,children:cr("div",{className:Ha,children:o===null?null:cr(yI,{...e,viewportHeight:o,reducedMotion:a})})})},yI=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:s,reducedMotion:i})=>{let[{initialScrollAnchor:l,restored:d}]=An(()=>{let F=a?.current;if(!F||F.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!F.topItem)return{initialScrollAnchor:void 0,restored:!0};let $=nr(e,F.topItem.reportHubId);return $!==-1?{initialScrollAnchor:{index:$,offsetPx:F.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:F.topItem.index,offsetPx:0},restored:!0}}),c=Dt(d),u=Dt(n??null),y=Ve(()=>a?.current.measuredHeights??new Map),[m]=An(()=>fI(y.current)),[p]=An(()=>m.estimate()),f=Dt(p),b=Dt(null),h=fs(),D=Yl(),[g]=An(_s),R=Dt(null),S=Dt(null),E=Dt(e),v=Dt(o);Tb(()=>{E.current=e,v.current=o},[e,o]);let _=Dt(null),[O,M]=An(0),P=Dt(null),H=e.length,T=t===void 0?H:t,w=qe(F=>{let $=ke(e,F);return $===void 0?ns:$},[e]),A=qe(F=>{let $=y.current.get(w(F).reportHubId);return $===void 0?f.current:$},[y,w]),x=qe(F=>Es(e,F),[e]),U=Lc(()=>({kind:"measured",heightOf:A}),[A]),k=qe((F,$,se)=>{if(_.current={reportHubId:F,index:$},se==="held"){v.current?.(F,"held");return}M(he=>he+1),v.current?.(F,"settled")},[]),V=qe((F,$)=>k(F,$,"settled"),[k]),j=qe((F,$)=>{if(H===0)return;let se=Math.max(0,F),he=Math.min(H-1,$);if(se>he)return;let ve=new Set;for(let Ke=se;Ke<=he;Ke++){let Gt=w(Ke);if(Gt.businessDate&&ve.add(Gt.businessDate),ve.size>=sm)break}ve.forEach(Ke=>{D(Ke)})},[w,H,D]),W=Dt(null),z=qe(()=>W.current,[]),de=qi({itemCount:H,getItem:w}),ge=qe(F=>{if(H===0)return;let{renderingStartIndex:$,renderingEndIndex:se,visibleStartIndex:he}=F,ve=w(he);ve.reportHubId>0&&(W.current=ve.reportHubId),ve.businessDate&&g.setLabel(Ne(ve.businessDate)),j($,se),j(se+1,se+rs),j($-rs,$-1),de(F)},[w,H,j,g,de]),L=qe(()=>P.current!==null,[]),{containerProps:K,handleRangeChange:G,handleScrollAdjust:te,attachVirtualScroll:ye,handleRef:ie,scroller:J,attachScrollContainer:re,contentProps:De,keyboardHelp:q,resolveSelectedIndex:ne,activateRow:Ct,rowPass:Qe,rowScope:It,selectionStore:st}=ji({items:e,selectedId:n??null,onSelect:o===void 0?null:k,onActivate:V,containerRef:b,rootRef:b,testId:Ab,itemsRef:E,rowSetSize:T,rowSizing:U,arrowAlign:"top",isViewRevealPending:L,onRangeChange:ge});Ns({items:e,scroller:J,readTopReportId:z});let pt=qe(()=>{let F=m.estimate();F===f.current||st.isHeld()||S.current!==null||(f.current=F,J.reestimate(F))},[m,st,J]);Tb(()=>st.subscribeHold(()=>{st.isHeld()||pt()}),[st,pt]);let it=qe((F,$)=>{if(ie.current===null)return!1;let se=E.current,he=$!==null&&$.reportHubId===F?Fe(se,F,$.index):ne(se,F);return he===-1?!1:(c.current&&(c.current=!1,F===u.current)||$!==null&&$.reportHubId===F&&$.index===he||J.toIndex(he,{align:"top"}),!0)},[ie,ne,J]);Tn(()=>{let F=_.current;_.current=null,P.current=null,n!=null&&(it(n,F)||(P.current=n))},[n,it]),Tn(()=>{let F=P.current;F!==null&&it(F,null)&&(P.current=null)},[e,it]),Tn(()=>{let F=a?.current;F&&(F.anchorReportHubId=n??null)},[n,a]),Tn(()=>{_.current=null},[O]);let ht=Dt(null),$t=qe(()=>{ie.current&&(ht.current=ie.current);let F=a?.current,$=ht.current;if(F&&$){let he=$.getScrollAnchor(),ve=he===null?void 0:ke(E.current,he.index);he&&ve&&(F.topItem={reportHubId:ve.reportHubId,index:he.index,offsetPx:he.offsetPx})}let se=b.current;se&&(se.toggleAttribute(kr,!0),S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{se.toggleAttribute(kr,!1),S.current=null,pt()},150))},[ie,a,pt]),jt=qe(F=>cr(Ls,{...F,store:g}),[g]);Tn(()=>{let F=b.current;if(!F)return;let $=()=>{g.setWheelScrollActive(!0),R.current&&clearTimeout(R.current),R.current=window.setTimeout(()=>{g.setWheelScrollActive(!1),R.current=null},os)};return F.addEventListener("wheel",$,{passive:!0}),()=>{F.removeEventListener("wheel",$),R.current&&clearTimeout(R.current)}},[g]);let Tt=qe(F=>{for(let[$,se]of F){Qe.measured($);let he=$.parentElement,ve=he===null?null:qo(he),Ke=he===null?null:zr(he);if(ve===null||Ke===null)continue;let Gt=se+2*pr,Nr=y.current.get(ve);if(Nr===Gt)continue;let Cn=Fe(E.current,ve,Ke-1);Cn!==-1&&(y.current.set(ve,Gt),m.record(Nr===void 0?null:Nr,Gt),J.resizeRow(Cn,Gt))}pt()},[y,J,Qe,m,pt]),[C]=An(()=>nf(Tt)),N=C.observe,B=qe(F=>{let $=Ge(F),se=re(F),he=C.attach($),ve=Qe.attach($,C.remeasure);return()=>{ve(),he(),se()}},[re,Qe,C]);Tn(()=>{H!==0&&j(0,Math.min(H-1,rs))},[H,j]);let X=Dt(null),ae=qe(F=>{let $=Fe(E.current,F,null);$!==-1&&(X.current!==null&&clearTimeout(X.current),X.current=setTimeout(()=>{X.current=null;let se=Fe(E.current,F,$);se!==-1&&J.toIndex(se,{align:"bottom"})},mI))},[J]);Tn(()=>()=>{X.current!==null&&clearTimeout(X.current)},[]);let me=qe(F=>{if(!v.current)return;let $=un(F.target,b.current);if($===null||Jm(F.target,$))return;let se=Zm($,E.current);se!==null&&(Ct(se.reportHubId,se.index),k(se.reportHubId,se.index,"settled"))},[k,Ct]),Y=qe((F,$)=>cr(mn.Provider,{value:$,children:cr(Qo.Provider,{value:F.reportHubId,children:cr(db,{item:F,observeRowHeight:N,onCommentAdded:ae,userId:r})})},F.reportHubId),[N,ae,r]),oe=Lc(()=>({...ss,renderThumbOverlay:jt}),[jt]),Le=Lc(()=>cr(pn.Provider,{value:T,children:cr(Gi,{ref:ye,rowScope:It,items:e,itemCount:H,getItem:w,getItemKey:x,getItemHeight:A,estimatedItemHeight:p,viewportSize:s,initialScrollAnchor:l,overscanCount:as,scrollBarOptions:oe,behaviorOptions:i?cI:vb,onRangeChange:G,onScrollAdjust:te,onScroll:$t,testId:Ab,className:uI,locale:h.locale,labels:h.labels,contentProps:De,children:Y})}),[ye,It,e,T,H,w,x,A,p,s,i,l,oe,G,te,$t,h.locale,h.labels,De,Y]);return cr(hI,{children:RI("div",{ref:B,className:pI,...As,...K,onClick:me,children:[q,Le]})})};import Ib from"lucide-react/dist/esm/icons/refresh-cw.js";import{createContext as EI,memo as DI,useContext as wI,useLayoutEffect as TI,useRef as AI}from"react";import{jsx as Oc,jsxs as bI}from"react/jsx-runtime";var Xi=e=>10**String(e).length-1,fa=({text:e,widestTexts:t,ref:r})=>bI("span",{ref:r,className:Vu,children:[Oc("span",{"aria-hidden":"true",className:Ba,children:[...new Set(t)].map(n=>Oc("span",{className:tn,children:n},n))}),Oc("span",{className:Wu,children:e})]});import{useLayoutEffect as SI,useState as xb}from"react";import{jsx as Cb,jsxs as gI}from"react/jsx-runtime";var Mc=Object.freeze({status:"",alert:""}),Qi=({announcement:e,testId:t})=>{let[r]=xb(e),[n,o]=xb(!1),a=n||e.status!==r.status||e.alert!==r.alert;SI(()=>{a&&!n&&o(!0)},[a,n]);let{status:s,alert:i}=a?e:Mc;return gI("span",{"data-testid":t,className:"sr-only",children:[Cb("span",{role:"status",children:s}),Cb("span",{role:"alert",children:i})]})};import{Fragment as HI,jsx as wt,jsxs as Kt}from"react/jsx-runtime";var kc=EI(!0),vI="daily-report-ids-stream-status-announcer",xI="inline-grid whitespace-nowrap text-start",Nb="col-start-1 row-start-1",CI=`${Ba} ${Nb}`,II=`${Nb} flex justify-self-start rounded-full empty:not-focus:invisible ${ce}`,Ob=I(Je,"gap-1 bg-blue-100 font-medium text-blue-800 text-xs tabular-nums dark:bg-blue-900/40 dark:text-blue-300"),Pc="size-2 rounded-full bg-blue-500 dark:bg-blue-400",Mb=I(Je,"gap-1 bg-amber-100 font-medium text-amber-900 text-xs tabular-nums dark:bg-amber-900/40 dark:text-amber-300"),Pb=I(Je,"gap-1 bg-rose-100 font-medium text-rose-900 text-xs dark:bg-rose-900/40 dark:text-rose-300"),kb=I(Je,"gap-1 bg-slate-100 font-medium text-slate-700 text-xs dark:bg-slate-800/40 dark:text-slate-300"),Fb=I("inline-flex h-5 items-center rounded-full bg-rose-100 px-2 font-semibold text-rose-900 hover:bg-rose-200 hover:text-rose-950 dark:bg-rose-900 dark:text-rose-50 dark:hover:bg-rose-800 dark:hover:text-rose-50",ce),_b="size-3",Lb=`${Ob} ${tn}`,_I=`${Mb} ${tn}`,LI=`${Pb} ${tn}`,NI=`${kb} ${tn}`,Hb=(e,t)=>Xi(t===null?e:Math.max(e,t)),OI=(e,t,r)=>{let n=Hb(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)}},MI=({labels:e,loadedCount:t,totalCount:r})=>{let{text:n,widestText:o}=OI(e,t,r);return Kt("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:Ob,children:[wt("span",{"aria-hidden":"true",className:Pc}),wt(fa,{text:n,widestTexts:[o]})]})},PI=(e,t,r)=>e.phase==="streaming"?wt(MI,{labels:t,loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?Kt("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:Mb,children:[wt(Ib,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?Kt("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:Pb,children:[t.streamFailed,wt("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:r,className:Fb,children:t.streamRetry})]}):e.isRevalidating?Kt("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"revalidating",className:kb,children:[wt(Ib,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null,kI=DI(({labels:e,widest:t})=>Kt("span",{"aria-hidden":"true",className:CI,children:[Kt("span",{className:Lb,children:[wt("span",{className:Pc}),e.streamProgressCount(t)]}),Kt("span",{className:Lb,children:[wt("span",{className:Pc}),e.streamProgressRatio(t,t,100)]}),Kt("span",{className:_I,children:[wt("span",{className:_b}),e.streamRetrying(t)]}),Kt("span",{className:LI,children:[e.streamFailed,wt("span",{className:Fb,children:e.streamRetry})]}),Kt("span",{className:NI,children:[wt("span",{className:_b}),e.streamRevalidating]})]})),Fc=(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:""}:Mc,FI=(e,t)=>Fc({phase:e.phase,hasItems:!0,retryingCount:e.phase==="retrying"?e.loadedCount:null},t),ya=()=>{let e=Jf(),{labels:t}=Q(),r=wI(kc),n=AI(null),a=PI(e,t,()=>{vr([n.current]),Gs()}),s=a===null;return TI(()=>{let i=n.current;!s||i===null||!i.contains(nt(i))||vr(ni(i.ownerDocument))},[s]),Kt(HI,{children:[Kt("span",{className:xI,children:[wt(kI,{labels:t,widest:Hb(e.loadedCount,e.totalCount)}),wt("span",{ref:n,tabIndex:-1,"data-daily-report-stream-status":"",className:II,children:a})]}),r?wt(Qi,{announcement:FI(e,t),testId:vI}):null]})};import{Panel as dS,PanelGroup as dL,PanelResizeHandle as cL}from"@aiquants/resize-panels";import{useCallback as ft,useEffect as ol,useLayoutEffect as al,useMemo as Gc,useRef as Jr,useState as il}from"react";import{useSyncExternalStore as BI}from"react";var Bb="(max-width: 639px)",UI=()=>{},VI=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return UI;let t=window.matchMedia(Bb);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},WI=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(Bb).matches:!1,zI=()=>!1,Ub=()=>BI(VI,WI,zI);import{SwipeCloseGuardContext as b_,useSwipeGuardState as S_,useSwipeToDismissOverlay as g_,useTapClick as E_,useTransitionDisplay as D_}from"@aiquants/swipe-overlay";import{useCallback as el,useEffect as Da,useId as Jb,useLayoutEffect as Kc,useRef as Qt,useState as tl}from"react";var KI={kind:"hold"},$I=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),jI=(e,t)=>{let r=e.getAttribute("role");return r!==null&&$I.has(r)&&e!==t&&e.contains(t)},Vb=e=>e.key==="Escape"&&!e.defaultPrevented&&!gn(e),Wb=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||gn(e))return null;let r=e.target;if(!(Pe(r)&&t.contains(r)))return null;let n=Rs(t);if(n.length===0)return KI;let{before:o,within:a,after:s}=Ko(t,r);return e.shiftKey?o.some(i=>!jI(i,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||s.length>0?null:{kind:"wrap",element:n[0]}};import{useMemo as GI}from"react";var Ra=(e,t)=>{let{id:r,indexHint:n}=t;return GI(()=>{if(r===null)return null;let o=Fe(e,r,n);return o===-1?null:or(e,o)},[e,r,n])};import YI from"lucide-react/dist/esm/icons/pencil.js";import qI from"lucide-react/dist/esm/icons/trash-2.js";import{memo as XI,useCallback as vn,useDeferredValue as QI,useEffect as Uc,useId as $b,useLayoutEffect as Vc,useMemo as Ea,useRef as ga,useState as jb,useSyncExternalStore as ZI}from"react";import*as Ir from"@radix-ui/react-tabs";import*as xt from"react";import{jsx as bo}from"react/jsx-runtime";var zb=xt.createContext(null),Kb=e=>{let t=xt.useContext(zb);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},Hc=(e,t)=>`${e}-trigger-${t}`,Bc=(e,t)=>`${e}-panel-${t}`,ha=xt.forwardRef(({value:e,children:t,...r},n)=>{let o=xt.useId(),a=xt.useMemo(()=>({baseId:o,value:e}),[o,e]);return bo(Ir.Root,{ref:n,value:e,...r,children:bo(zb,{value:a,children:t})})});ha.displayName=Ir.Root.displayName;var ba=xt.forwardRef(({className:e,...t},r)=>bo(Ir.List,{ref:r,className:I("inline-flex",e),...t}));ba.displayName=Ir.List.displayName;var Sa=xt.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=Kb("TabsTrigger");return bo(Ir.Trigger,{ref:n,value:t,...r,id:Hc(o,t),"aria-controls":Bc(o,t),className:I(`${Nu} ${ce}`,e)})});Sa.displayName=Ir.Trigger.displayName;var So=xt.forwardRef(({className:e,value:t,tabStop:r,children:n,...o},a)=>{let{baseId:s,value:i}=Kb("TabsContent"),l=t===i,d="mt-2 data-[state=inactive]:hidden";return r?bo("div",{ref:a,role:"tabpanel",id:Bc(s,t),"aria-labelledby":Hc(s,t),"data-state":l?"active":"inactive",hidden:!l,tabIndex:0,...o,className:I(`${d} ${ce}`,e),children:l?n:null}):bo("div",{ref:a,role:"tabpanel",id:Bc(s,t),"aria-labelledby":Hc(s,t),"data-state":l?"active":"inactive",hidden:!l,...o,className:I(d,e),children:l?n:null})});So.displayName="TabsContent";import{jsx as Z,jsxs as _r}from"react/jsx-runtime";var Xb=I(rn,"w-24 shrink-0"),Gb={field:"flex items-baseline",label:Xb,value:"flex-1"},JI={field:"flex min-w-0 flex-1 items-baseline",label:Xb,value:"wrap-break-word min-w-0 flex-1"},e_={field:"flex flex-col gap-1",label:rn,value:""},t_={field:"flex min-w-0 items-center gap-1",label:I(rn,"shrink-0 whitespace-nowrap"),value:""},r_=`flex min-h-4 flex-wrap items-center gap-x-2 gap-y-1 ${ue} text-xs`,Yb=I("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",bl,yu,fu),qb={desktop:I(Yb,Gu),overlay:Yb},n_=I("flex flex-col gap-1",Sl),o_=I(_u,"grid grid-cols-2 gap-1"),a_=I("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",ce),Wc=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)})}},s_=(e,t,r,n,o,a,s)=>{let i=ga(null),l=e?.reportHubId;Vc(()=>{i.current=null},[l]),Uc(()=>{o||(i.current=null)},[o]);let d=vn(async(c,u)=>{u||(i.current=c.reportHubId);try{await s(c.reportHubId,Ln(Rr(c,t),c.contentDigest),c.date)}catch{}},[s,t]);return Uc(()=>{if(!(n&&e&&Rr(e,t)!=="read"&&!r)||i.current===e.reportHubId)return;let c=null,u=()=>{c!==null&&clearTimeout(c),c=a.isDwelling()?setTimeout(()=>d(e,!0),500):null};u();let y=a.subscribe(u);return()=>{y(),c!==null&&clearTimeout(c)}},[e,t,r,n,d,a]),{handleToggleRead:d}},zc="article",i_=["article","relations"],l_=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},d_=I("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",Ot),c_=I("flex h-full flex-1 items-center justify-center text-center",In),u_=9,p_=.875,m_=16,Qb=4*Math.ceil((2*pr+2*Na+2*bu+u_*p_*m_)/4),Zb=({dailyReportItems:e,selectionStore:t,autoMarkRead:r,userId:n,onReportDeleted:o})=>{let{labels:a}=Q(),s=$b(),i=$b(),[l,d]=jb(zc),{selected:c,settled:u}=ZI(t.subscribe,t.getSnapshot,t.getSnapshot),y=Ra(e,c),m=Ra(e,QI(u)),p=y===null?null:y.reportHubId,b=(m===null?null:m.reportHubId)===p,[h]=jb(()=>Wc(b));return Vc(()=>{h.set(b)},[h,b]),Z("aside",{"data-testid":"daily-report-side-pane","data-report-id":y?.reportHubId,"data-displayed-report-id":m?.reportHubId,"aria-busy":b?void 0:!0,className:d_,children:m===null?Z("div",{className:c_,children:Z("p",{className:yr,children:a.selectPrompt})}):Z(Ji,{item:m,placement:"desktop",headingId:s,authorId:i,activeTab:l,onActiveTabChange:d,autoMarkRead:r,isActive:!0,dwell:h,userId:n,onReportDeleted:o},m.reportHubId)})},f_=({reportHubId:e,children:t})=>{let r=Qy(e);return Z(ro,{reportHubId:e,entry:r,children:t})},Ji=XI(({item:e,placement:t,headingId:r,authorId:n,activeTab:o,onActiveTabChange:a,autoMarkRead:s,isActive:i,dwell:l,userId:d,onReportDeleted:c})=>{let{labels:u,sourceTypeConfigs:y,headingLevel:m}=Q(),{report:p,error:f,isLoading:b}=Gl(e.reportHubId,e.businessDate),h=$r(),D=ei(e.reportHubId),g=D==="editing"||D==="automatic",R=ga(null),S=ga(null),E=ga(!1),v=ga(!1),_=fn(p,d),O=p?.isDraft===!0;Uc(()=>{p!==null&&(_&&O&&D==="display"?h.open(e.reportHubId,ao(p),!0):!O&&D==="automatic"&&h.discard(e.reportHubId))},[p,_,O,D,h,e.reportHubId]);let M=Ea(()=>p===null?void 0:()=>{E.current=!0,h.open(e.reportHubId,ao(p),!1)},[h,e.reportHubId,p]),P=vn(()=>{v.current=!0,h.dismiss(e.reportHubId)},[h,e.reportHubId]),H=vn(()=>{v.current=!0,h.discard(e.reportHubId)},[h,e.reportHubId]),T=vn(W=>{W===null||!E.current||(E.current=!1,W.focus())},[]),w=vn(W=>{W===null||!v.current||(v.current=!1,W.focus())},[]),A=vn(()=>{S.current?.focus({preventScroll:!0})},[]);Vc(()=>{g||!v.current||(v.current=!1,S.current?.focus())},[g]);let x=vn(()=>{setTimeout(()=>{let W=R.current;W!==null&&W.scrollTo({top:W.scrollHeight,behavior:wf(W)})},100)},[]),U=Ne(e.businessDate),k=Ea(()=>p===null?null:$e(p.employeeName),[p]),V=b||!p,j=p===null?void 0:gr(p.sourceType,y);return _r(f_,{reportHubId:e.reportHubId,children:[_r("div",{className:n_,children:[Z("dl",{className:"m-0",children:Z(Et,{label:u.businessDate,classNames:e_,children:Z(vt,{ref:S,level:m,id:r,tabIndex:-1,className:a_,children:U})})}),_r("div",{className:r_,children:[Z("dl",{className:"m-0 min-w-0",children:Z(Et,{label:u.author,classNames:t_,valueId:n,children:V||k===null?Z("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):Z(we,{fieldKey:Te.field("employeeName"),raw:p?.employeeName,display:k})})}),j?Z(po,{config:j}):null,p===null?null:Z(Di,{isEditing:g,descriptionId:null})]})]}),_r(ha,{value:o,onValueChange:W=>a(l_(W)),className:"flex min-h-0 flex-1 flex-col",children:[Z("div",{className:Sl,children:Z(ba,{"aria-label":u.reportTabList,className:o_,children:i_.map(W=>Z(Sa,{value:W,children:W==="article"?u.tabArticle:u.tabRelations},W))})}),Z(So,{ref:R,value:"article",tabStop:!0,className:qb[t],children:g?p?Z(gi,{report:p,onCancel:P,onPublishSuccess:H,titleInputRef:T}):Z("p",{className:In,children:u.loading}):Z(h_,{report:p,sourceConfig:j,isLoading:b,error:f,item:e,autoMarkRead:s,isActive:i,dwell:l,onCommentAdded:x,userId:d,onEdit:_?M:void 0,editButtonRef:w,onReportDeleted:c,onCommentSectionRemoved:A})}),Z(So,{value:"relations",tabStop:!0,className:qb[t],children:Z("p",{className:In,children:u.relationsEmpty})})]})]})});Ji.displayName="DailyReportSidePaneContent";var Zi=({className:e="w-32"})=>Z("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),y_=["w-full","w-11/12","w-4/5"],R_=I(Su,Oa),h_=({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:y,onCommentSectionRemoved:m})=>{let{toggleStar:p,toggleRead:f,deleteReport:b}=ct(),{labels:h,headingLevel:D}=Q(),g=jr[D],{handleToggleRead:R}=s_(e,d,r,a,s,i,f),S=e!==null&&Ja(e.sourceType,t),E=e===null?null:Rr(e,d),v=Ea(()=>e?.content?np(e.content):null,[e]),_=Ea(()=>$e(e?.subject),[e]),O=Ea(()=>$e(e?.customerName),[e]),M=async w=>{try{await p(w.reportHubId,!w.isStarred,w.date)}catch{}},P=async w=>{if(confirm(h.confirmDelete)){try{await b(w.reportHubId,w.date)}catch{return}y(w.reportHubId)}};if(n)return Z("p",{className:To,children:h.reportLoadFailed(o.reportHubId)});let H=!e,T=fn(e,d);return _r("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:c,children:[_r("div",{className:"flex items-start gap-2",children:[Z("dl",{className:"m-0 flex min-w-0 flex-1",children:Z(Et,{label:h.subject,classNames:JI,children:H?Z(Zi,{className:"w-3/4"}):Z("span",{className:"text-sm",children:Z(we,{fieldKey:Te.field("subject"),raw:e?.subject,display:_})})})}),!H&&e&&E&&_r("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[Z(yo,{readState:E,label:h.updatedSinceRead}),Z("button",{type:"button",onClick:()=>M(e),className:dt,title:e.isStarred?h.starRemove:h.starAdd,"aria-label":e.isStarred?h.starRemove:h.starAdd,"data-detail-star-button":e.reportHubId,children:Z(mo,{filled:e.isStarred})}),Z("button",{type:"button",onClick:()=>R(e,!1),className:dt,title:En(E,h),"aria-label":En(E,h),"data-detail-read-button":e.reportHubId,children:Z(fo,{readState:E})}),c&&Z("button",{ref:u,type:"button",onClick:c,"data-detail-edit-button":e.reportHubId,className:dt,title:h.edit,"aria-label":h.edit,children:Z(YI,{className:et.edit})}),T&&Z("button",{type:"button",onClick:()=>P(e),"data-detail-delete-button":e.reportHubId,className:dt,title:h.deleteReport,"aria-label":h.deleteReport,children:Z(qI,{className:et.delete})})]})]}),Z("dl",{className:"m-0",children:Z(Et,{label:h.customer,classNames:Gb,children:H?Z(Zi,{className:"w-1/2"}):Z("span",{className:"text-sm",children:Z(we,{fieldKey:Te.field("customerName"),raw:e?.customerName,display:O})})})}),_r("div",{className:"flex flex-col gap-2",children:[Z(vt,{level:g,className:fr,children:h.content}),Z("div",{className:R_,children:H?y_.map(w=>Z("div",{className:gu,children:Z(Zi,{className:w})},w)):v!==null&&v.text.length>0?Z("div",{className:"whitespace-pre-wrap",children:Z(we,{fieldKey:Te.field("content"),raw:e?.content,display:v})}):Z("p",{className:ue,children:h.contentEmpty})})]}),Z("dl",{className:"m-0",children:Z(Et,{label:h.visitTime,classNames:Gb,children:H?Z(Zi,{className:"w-1/3"}):_r("span",{className:"text-sm",children:[Ur(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",Ur(e?.visitTimeTo)]})})}),e&&Z(fi,{attachments:e.attachments}),e&&Z(ua,{report:e,userId:d,canComment:S,onCommentAdded:l,onSectionRemoved:m,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};import{jsx as Zr,jsxs as eS}from"react/jsx-runtime";var w_="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]",T_={right:"var(--aqdr-overlay-right, 0px)"},A_="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",v_=I("relative ml-auto flex h-full w-full max-w-full touch-none shadow-xl motion-safe:transition-[transform] motion-safe:duration-200 motion-safe:ease-out",Uu),x_=I("inline-flex h-9 touch-manipulation items-center rounded-full border border-slate-300 border-solid px-[15px] font-medium text-slate-700 text-sm shadow-sm hover:bg-slate-100 dark:border-slate-600 dark:text-slate-200 dark:hover:bg-slate-800",ce),C_="flex shrink-0 justify-center empty:hidden",I_=50,tS=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[s,i]=tl(!1),[l,d]=tl(!1),c=Qt(null),u=Qt(null),y=Qt(null),m=Qt(e),p=Qt(!0),f=Ra(r,t),b=el(()=>{let R=o.current;if(R===null)return;let S=R.ownerDocument.body;y.current={body:S,overflow:S.style.overflow},S.style.overflow="hidden"},[o]),h=el(()=>{let R=y.current;R!==null&&(R.body.style.overflow=R.overflow,y.current=null)},[]);Da(()=>{if(p.current){p.current=!1,m.current=e;return}let R=!m.current;m.current=e,R&&e&&a!==null?i(!0):!e&&s&&(u.current=a,i(!1),h())},[e,a,s,h]);let D=e&&s&&f!==null;Da(()=>{if(D)d(!0);else{let R=setTimeout(()=>d(!1),300);return()=>clearTimeout(R)}},[D]),Da(()=>{if(e&&s&&a!==null&&!c.current){let R=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:R},"",window.location.href),c.current=R}else!(e&&s)&&c.current&&(c.current=null);return e&&s?b():h(),h},[e,s,a,b,h]),Da(()=>{let R=()=>{c.current&&(u.current=a,c.current=null,i(!1),n(null))};return window.addEventListener("popstate",R),()=>window.removeEventListener("popstate",R)},[a,n]);let g=el(()=>{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:D,handleOverlayClose:g,lastClosedItemIdRef:u,selectedItem:f}},rS=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:s}=Q(),{registerNoticeHost:i}=ai(),l=Qt(null),d=Qt(null),c=Jb(),u=Jb(),[y,m]=tl(zc),p=Qt(!1),f=Qt(e),b=Qt(null),[h]=tl(()=>Wc(e)),{isBlocked:D,requestBlock:g,reset:R}=S_(),S=D_(e,t),{overlayRef:E,overlayStyle:v,attemptClose:_,isSwiping:O}=g_({isOpen:e,onClose:r,isCloseBlocked:el(()=>D,[D]),skipWhenTextSelected:!0}),M=Qt(_);Kc(()=>{M.current=_,f.current=e,h.set(e)},[_,e,h]),Kc(()=>{let A=l.current;if(A===null)return;if(e){if(p.current)return;A.showModal(),p.current=!0,A.ownerDocument.getElementById(c)?.focus();return}if(!p.current)return;p.current=!1;let x=nt(A);x!==null&&A.contains(x)&&$o(x)&&x.blur(),A.close()},[e,c]),Kc(()=>{let A=d.current;if(!(!e||A===null))return i(A)},[e,i]),Da(()=>{e||R()},[e,R]);let P=E_(()=>_()),H=A=>{let x=so(A);if(x.key==="Escape"){b.current=A.timeStamp;return}let U=Wb(x,A.currentTarget);U!==null&&(A.preventDefault(),U.kind==="wrap"&&U.element.focus())},T=A=>{A.preventDefault();let x=b.current;b.current=null,!(x!==null&&A.timeStamp-x<=I_)&&M.current()},w=A=>{let x=A.currentTarget;x.open||!f.current||(p.current=!1,!M.current()&&(x.showModal(),p.current=!0))};return S?eS("dialog",{ref:l,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${c} ${u}`,tabIndex:-1,className:I(w_,e&&!O?"pointer-events-auto":"pointer-events-none"),style:T_,inert:!e,onKeyDown:H,onCancel:T,onClose:w,children:[Zr("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:I(A_,e?"opacity-100":"opacity-0"),...P}),Zr("div",{ref:E,"data-daily-report-overlay-panel":"",className:I(v_,e?"pointer-events-auto":"pointer-events-none"),style:v,children:eS("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[Zr(b_.Provider,{value:{isBlocked:D,requestBlock:g},children:Zr("div",{"data-testid":"daily-report-side-pane","data-report-id":S.reportHubId,"data-displayed-report-id":S.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:Zr(Ji,{item:S,placement:"overlay",headingId:c,authorId:u,activeTab:y,onActiveTabChange:m,autoMarkRead:n,isActive:e,dwell:h,userId:o,onReportDeleted:a},S.reportHubId)})}),Zr("div",{ref:d,"data-daily-report-notice-slot":"","data-overlay-interactive":"true",className:C_}),Zr("div",{className:"flex justify-start",children:Zr("button",{type:"button","data-overlay-interactive":"true",className:x_,onClick:()=>_(),children:s.close})})]})})]}):null};import{memo as aS,useContext as sS,useEffect as z_,useMemo as nl}from"react";import{createContext as __,createElement as L_,useLayoutEffect as N_,useMemo as O_,useRef as M_,useState as P_}from"react";var k_=6.75,F_=4,H_=1e-6,B_=e=>4*Math.ceil((2*pr+2*Na+F_+k_*e-H_)/4),rl=__(null),U_="data-daily-report-root-font-size-probe",V_={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},W_=e=>{let t=Ge(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])},nS=()=>{let e=M_(null),[t,r]=P_(null);N_(()=>{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=B_(W_(o));l!==a&&(a=l,r(l))};s();let i=new ResizeObserver(s);return i.observe(o),()=>i.disconnect()},[]);let n=O_(()=>L_("div",{ref:e,"aria-hidden":!0,[U_]:"",style:V_}),[]);return{rowSlotHeight:t,remProbe:n}};import{jsx as pe,jsxs as Eo}from"react/jsx-runtime";var K_=I(Hr,_a,La,Ia),$_=I("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",Ot,Ma,hu),j_="min-w-24",G_="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",Y_={touchAction:"manipulation"},q_=I("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",j_),X_=I("relative z-10",dt),Q_=I(Je,"shrink-0 whitespace-nowrap bg-slate-100 font-medium text-slate-900 text-xs dark:bg-slate-800 dark:text-slate-100"),Z_=I(Je,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),J_=I(Du,"ml-auto"),eL=I("flex h-full",Ot),tL="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",go="h-4 rounded bg-slate-200 dark:bg-slate-700",rL=pe("div",{"data-skeleton":!0,...Nt,className:eL,children:Eo("div",{className:tL,children:[Eo("div",{className:"flex flex-wrap items-center gap-2",children:[pe("div",{className:I(go,"w-24")}),pe("div",{className:I(go,"w-24")}),pe("div",{className:I(go,"w-24")})]}),Eo("div",{className:"space-y-2",children:[pe("div",{className:I(go,"w-full")}),pe("div",{className:I(go,"w-11/12")}),pe("div",{className:I(go,"w-5/6")})]})]})}),nL=()=>rL,oL="flex h-full items-center justify-center rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-800 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",aL=`flex h-full items-center justify-center rounded-2xl border border-slate-200 border-solid bg-slate-50 p-[15px] ${ue} text-sm dark:border-slate-700 dark:bg-slate-900/40`,sL=e=>{e.target===e.currentTarget&&e.preventDefault()},$c=({reportHubId:e,rowId:t,name:r,children:n})=>{let o=sS(rl);if(o===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let a=nl(()=>({height:o}),[o]);return pe(Mi,{reportHubId:e,rowId:t,name:r,className:K_,style:a,onMouseDown:sL,children:n})},iS=e=>rp(e??null,lm),iL=({report:e,viewerUserId:t,sourceConfig:r,marks:n,marksStore:o,labels:a})=>Fi({state:()=>a.rowState({readState:Rr(e,t),isStarred:e.isStarred}),attachmentCount:e.attachments.length,sourceConfig:r,preview:()=>{let s=iS(e.content);return s.length>0?s.map(i=>i.text).join(" "):a.contentEmptyPreview},marks:n,marksStore:o,labels:a}),lL=(e,t)=>`${Ne(e.businessDate)} ${$e(t.employeeName).text}`,oS=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=oo();return pe("button",{type:"button",title:e,"aria-label":e,...o,...t,onClick:r,className:X_,children:n})},lS=aS(({item:e,report:t,viewerUserId:r,rowId:n,sourceConfig:o,describedBy:a,onSelect:s})=>{let{labels:i}=Q(),{toggleStar:l,toggleRead:d}=ct(),c=Ie(n,"name"),u=nl(()=>iS(t.content),[t.content]),y=nl(()=>$e(t.employeeName),[t.employeeName]),m=Ne(e.businessDate),p=R=>{R.currentTarget.focus({preventScroll:!0});let S=Qm(R.currentTarget);S!==null&&s(e.reportHubId,S)},f=async()=>{let R=!t.isStarred;try{await l(t.reportHubId,R,t.date)}catch{}},b=Rr(t,r),h=async()=>{try{await d(t.reportHubId,Ln(b,t.contentDigest),t.date)}catch{}},D=t.isStarred?i.starRemove:i.starAdd,g=En(b,i);return Eo("div",{"data-daily-report-card":!0,...Nt,"aria-labelledby":c,style:Y_,className:$_,children:[pe(uo,{id:Ie(n,"position"),whileTotalUnknownOnly:!1}),pe("span",{id:Ie(n,"state"),className:"sr-only",children:i.rowState({readState:b,isStarred:t.isStarred})}),Eo("button",{id:c,type:"button",tabIndex:-1,[jm]:e.reportHubId,...Ts,"aria-describedby":a,onClick:p,className:q_,children:[pe("span",{className:Q_,children:m})," ",pe("span",{className:Z_,children:pe("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:pe(we,{fieldKey:Te.field("employeeName"),raw:t.employeeName,display:y})})})]}),Eo("div",{className:J_,children:[pe(Ao,{id:Ie(n,"attachments"),count:t.attachments.length,label:i.attachments}),o?pe(po,{id:Ie(n,"source"),config:o}):null,pe(yo,{readState:b,label:i.updatedSinceRead}),pe(oS,{label:D,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:f,children:pe(mo,{filled:t.isStarred})}),pe(oS,{label:g,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:h,children:pe(fo,{readState:b})})]}),pe("div",{id:Ie(n,"preview"),className:G_,children:u.length>0?u.map((R,S)=>pe("p",{className:"wrap-break-word line-clamp-1",children:pe(we,{fieldKey:Te.field("content"),raw:t.content,display:R})},S)):pe("p",{children:i.contentEmptyPreview})}),pe(yh,{id:Ie(n,"match")})]})});lS.displayName="ListReportCard";var jc=aS(({item:e,onSelect:t,userId:r})=>{let{labels:n,sourceTypeConfigs:o}=Q(),{removeStaleItem:a}=ct(),s=an(),i=sS(mt),l=nl(()=>Bi(s,i,e.reportHubId,e.businessDate),[s,i,e.reportHubId,e.businessDate]),{bodyReady:d,rendered:c}=Is(e.reportHubId,l,"fixed"),{report:u,error:y}=c.detail,m=c.marksStore===i?c.marks:null,{report:p,error:f,isLoading:b,isRefetching:h}=l.read().detail,D=Ni(e.reportHubId),g=p===null&&f===null&&!b&&!h;z_(()=>{g&&e.reportHubId>0&&a(e.reportHubId)},[g,e.reportHubId,a]);let R=Ne(e.businessDate),S=Ie(D,"state"),E=(M,P,H)=>pe($c,{reportHubId:e.reportHubId,rowId:D,name:{kind:"label",label:R,isBusy:P,describedBy:H},children:M});if(!d&&(y!==null||u===null))return E(Oi,!0,co);if(y!==null)return E(pe("div",{...Nt,className:oL,children:pe("p",{id:S,children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1,[S]);if(u===null&&(b||p!==null||f!==null))return E(pe(nL,{}),!0,co);if(!u)return E(pe("div",{...Nt,className:aL,children:pe("p",{id:S,children:n.reportNotFound})}),!1,[S]);let v=gr(u.sourceType,o),_=iL({report:u,viewerUserId:r,sourceConfig:v,marks:m,marksStore:i,labels:n}),O=ma(D,_);return d?pe($c,{reportHubId:e.reportHubId,rowId:D,name:{kind:"parts",describedBy:O},children:pe(ro,{reportHubId:e.reportHubId,entry:m,children:pe(lS,{item:e,report:u,viewerUserId:r,rowId:D,sourceConfig:v,describedBy:[Ie(D,"position"),...O].join(" "),onSelect:t})})}):pe($c,{reportHubId:e.reportHubId,rowId:D,name:{kind:"parts",describedBy:O},children:pe(Hi,{rowId:D,name:lL(e,u),description:_})})});jc.displayName="ListReportItem";import{Fragment as TL,jsx as yt,jsxs as sl}from"react/jsx-runtime";var uS={pointerDragInputs:is,inertiaOptions:Yn(!1),wheelSpeedMultiplier:ts,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},uL={...uS,inertiaOptions:Yn(!0)},pS=Object.freeze({value:360,unit:"pixels"}),mS=Object.freeze({value:160,unit:"pixels"}),pL=Object.freeze({value:Qb,unit:"pixels"}),fS=Object.freeze({value:520,unit:"pixels"}),mL=Object.freeze([mS,pS,fS]),fL=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),yL=I("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",ce),RL=I("relative w-full",Va,Ua,Wa),hL=I(Mt,"relative isolate overflow-hidden"),cS="daily-report-list",bL=()=>!1,SL=()=>{throw new Error("[daily-report] a List activation arrived before the view committed")},gL=e=>{let[t,r]=il(!1);return al(()=>{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<im)},a=new(Ge(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},Yc=e=>{let t=Jr(null),[r,n]=il(null),o=hs(t),a=gL(t),{rowSlotHeight:s,remProbe:i}=nS(),l=qn(r),d=ft(c=>(t.current=c,n(c),()=>{t.current=null,n(null)}),[]);return sl("div",{ref:d,className:Fa,"data-testid":"daily-report-root",children:[i,o===null||s===null?null:yt(EL,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:s,isContainerNarrow:a,reducedMotion:l})]})},EL=({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[y]=il(()=>s?.current??0),m=Jr(null),{labels:p}=Q(),f=fs(),[b]=il(_s),D=Ub()||c,g=Jr(null),R=e.length,S=t===void 0?R:t,E=Jr(null),v=ft((Y,oe,Le)=>o(Y,Le),[o]),_=ft(Y=>o(Y,"settled"),[o]),O=ft(Y=>{let oe=ke(e,Y);return oe===void 0?ns:oe},[e]),M=Jr(null),P=qi({itemCount:R,getItem:O}),H=ft(Y=>{let oe=O(Y.visibleStartIndex);oe.reportHubId>0&&(b.setLabel(Ne(oe.businessDate)),M.current=oe.reportHubId),P(Y)},[O,b,P]),T=ft(()=>M.current,[]),w=Gc(()=>({kind:"uniform",rowHeight:d}),[d]),A=Jr(e);al(()=>{A.current=e},[e]);let x=Jr(SL),U=ft(Y=>x.current(Y),[]),{containerProps:k,handleRangeChange:V,handleScrollAdjust:j,attachVirtualScroll:W,handleRef:z,scroller:de,attachScrollContainer:ge,contentProps:L,keyboardHelp:K,selection:G,selectionStore:te,activateRow:ye,focusViewRow:ie,focusAfterRemoval:J,rowPass:re,rowScope:De}=ji({items:e,selectedId:n,onSelect:v,onActivate:U,containerRef:m,rootRef:i,testId:cS,itemsRef:A,rowSetSize:S,rowSizing:w,arrowAlign:"nearest",isViewRevealPending:bL,onRangeChange:H});Ns({items:e,scroller:de,readTopReportId:T});let{isMobileDetailOpen:q,setIsMobileDetailOpen:ne,isOverlayMounted:Ct,shouldShowOverlay:Qe,handleOverlayClose:It,lastClosedItemIdRef:st,selectedItem:pt}=tS({isMobileLayout:D,selection:G,dailyReportItems:e,onSelectItem:_,rootRef:i});ol(()=>{let Y=m.current,oe=()=>{b.setWheelScrollActive(!0),g.current&&clearTimeout(g.current),g.current=window.setTimeout(()=>{b.setWheelScrollActive(!1),g.current=null},os)};return Y?.addEventListener("wheel",oe,{passive:!0}),()=>{Y?.removeEventListener("wheel",oe),g.current&&clearTimeout(g.current)}},[b]),ol(()=>{!R&&n!==null&&_(null)},[R,n,_]),ol(()=>{if(q||st.current===null)return;let Y=st.current;st.current=null,ie(Y,"overlay")},[q,st,ie]),ol(()=>{let Y=ke(e,0);Y!==void 0&&b.setLabel(Ne(Y.businessDate))},[e,b]);let it=ft(Y=>{_(Y),D&&ne(!0)},[D,_,ne]);al(()=>{x.current=it},[it]);let ht=ft((Y,oe)=>{Y<=0||(ye(Y,oe),it(Y))},[ye,it]),$t=ft(()=>d,[d]),jt=Jr(d);al(()=>{let Y=jt.current;jt.current=d;let oe=z.current;if(Y===d||oe===null)return;let Le=oe.getScrollPosition();Le>0&&de.by(Le*d/Y-Le)},[z,d,de]);let Tt=ft(Y=>Es(e,Y),[e]),C=ft((Y,oe)=>yt(mn.Provider,{value:oe,children:yt(Qo.Provider,{value:Y.reportHubId,children:yt(jc,{item:Y,onSelect:ht,userId:a})})},Y.reportHubId),[ht,a]),N=ft(Y=>{let oe=ge(Y),Le=re.attach(Ge(Y),null);return()=>{Le(),oe()}},[ge,re]),B=ft(Y=>{s&&(s.current=Y);let oe=m.current;oe&&(oe.toggleAttribute(kr,!0),E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{oe.toggleAttribute(kr,!1),E.current=null},150))},[s]),X=ft(Y=>yt(Ls,{...Y,store:b}),[b]),ae=Gc(()=>sl("div",{ref:N,className:hL,...As,...k,children:[K,yt(pn.Provider,{value:S,children:yt(rl.Provider,{value:d,children:yt(Gi,{ref:W,rowScope:De,items:e,itemCount:R,getItem:O,getItemKey:Tt,getItemHeight:$t,viewportSize:l,initialScrollOffset:y,overscanCount:as,scrollBarOptions:{...ss,renderThumbOverlay:X},behaviorOptions:u?uL:uS,onRangeChange:V,onScrollAdjust:j,onScroll:B,testId:cS,className:RL,locale:f.locale,labels:f.labels,contentProps:L,children:C})})})]}),[N,W,De,e,k,S,R,O,Tt,$t,l,d,u,y,X,V,j,B,K,L,f.locale,f.labels,C]),me=Gc(()=>sl(dL,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[yt(dS,{id:"daily-report-list-panel",defaultSize:pS,minSize:mS,maxSize:fS,contentOverflow:"hidden",className:DL,children:ae}),yt(cL,{id:"daily-report-list-handle",thickness:10,indicator:fL,className:yL,activationSizes:mL,"aria-label":p.resizeHandle,title:p.resizeHandleHint}),yt(dS,{id:"daily-report-detail-panel",minSize:pL,contentOverflow:"hidden",className:wL,children:yt(Zb,{dailyReportItems:e,selectionStore:te,autoMarkRead:r,userId:a,onReportDeleted:J})})]}),[ae,p.resizeHandle,p.resizeHandleHint,e,te,r,a,J]);return sl(TL,{children:[yt("div",{className:Ha,children:D?yt("div",{className:Mt,children:ae}):me}),Ct&&yt(rS,{isOpen:Qe,selectedItem:pt,onClose:It,autoMarkRead:D&&r,userId:a,onReportDeleted:J})]})},DL=I("flex min-h-0",mu),wL=I("flex min-h-0 flex-1",Hr);import{useCallback as aO,useEffect as du,useLayoutEffect as cu,useRef as og,useState as sO}from"react";import LN from"lucide-react/dist/esm/icons/plus.js";import NN from"lucide-react/dist/esm/icons/refresh-cw.js";import ON from"lucide-react/dist/esm/icons/rotate-cw.js";import{useEffect as iu,useId as JS,useLayoutEffect as eg,useMemo as yl,useRef as wo,useState as xn}from"react";import{useSearchParams as MN}from"react-router";import{useEffect as AL,useRef as yS,useState as vL}from"react";var RS=(e,t,r=250)=>{let n=qn(t),[o,a]=vL(e),s=yS(e),i=yS(!0);return AL(()=>{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=Ge(t),c=0,u=null,y=m=>{u===null&&(u=m);let p=Math.min(1,Math.max(0,(m-u)/r)),f=1-(1-p)**3,b=Math.round(l+(e-l)*f);s.current=b,a(b),p<1&&(c=d.requestAnimationFrame(y))};return c=d.requestAnimationFrame(y),()=>d.cancelAnimationFrame(c)},[e,r,n,t]),n?e:o};import WL from"lucide-react/dist/esm/icons/loader-circle.js";import zL from"lucide-react/dist/esm/icons/x.js";import{useEffect as TS,useId as Ta,useLayoutEffect as KL,useRef as cl,useState as AS}from"react";var wa=Object.freeze({maxValuesPerFacet:16,maxValueLength:200,maxTotalValueLength:300}),Qc=["author","sourceType","customer"],Zc=Object.freeze({authors:Object.freeze([]),sourceTypes:Object.freeze([]),customers:Object.freeze([])}),xL=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,CL=e=>{let t=e.trim();return t.length===0?null:t.replace(xL,"\uFFFD")},hS=e=>{let t=CL(e);return t===null?"filter-blank-value":t!==e?"filter-value-not-canonical":e.length>wa.maxValueLength?"filter-value-too-long":null},IL=e=>{if(e.length>wa.maxValuesPerFacet)return"filter-too-many-values";let t=new Set;for(let r of e){let n=hS(r);if(n!==null)return n;if(t.has(r))return"filter-duplicate-value";t.add(r)}return null},_L=e=>{let t=0;for(let r of e.authors)t+=r.length;for(let r of e.customers)t+=r.length;return t},ll=e=>{for(let t of[e.authors,e.sourceTypes,e.customers]){let r=IL(t);if(r!==null)return r}return _L(e)>wa.maxTotalValueLength?"filters-too-long":null},qc=e=>[...new Set(e)].sort((t,r)=>t<r?-1:1),dl=e=>({authors:qc(e.authors),sourceTypes:qc(e.sourceTypes),customers:qc(e.customers)}),en=e=>e.trim().length===0,Do=e=>e.authors.length===0&&e.sourceTypes.length===0&&e.customers.length===0,bS=(e,t)=>{let r=dl(t);for(let n of r.authors)e.append(Ue.searchAuthor,n);for(let n of r.sourceTypes)e.append(Ue.searchSourceType,n);for(let n of r.customers)e.append(Ue.searchCustomer,n)},Xc=e=>{if(!Array.isArray(e))return null;let t=[],r=new Set;for(let n of e){if(typeof n!="string"||hS(n)!==null||r.has(n))return null;r.add(n),t.push(n)}return t},SS=e=>{if(!Sr(e))return null;let t=Xc(e.sourceTypes),r=Xc(e.authors),n=Xc(e.customers);return t===null||r===null||n===null?null:{sourceTypes:t,authors:r,customers:n}};import{Component as LL,Suspense as NL,useMemo as gS,useState as OL}from"react";import{jsx as Lr,jsxs as wS}from"react/jsx-runtime";var ES="flex min-h-6 items-center text-slate-600 text-xs dark:text-slate-300",ML=I(Hu,yr),PL=[{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"}],kL=(e,t)=>t==="author"?e.author:t==="sourceType"?e.searchFilterSourceType:e.customer,FL=(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 Me(`config.search.renderFilterSelect (${e}) onChange values`,"distinct values of the options the control received",t);o.add(a)}return t},Jc=class extends LL{constructor(){super(...arguments);this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?Lr("span",{className:ES,children:this.props.fallback}):this.props.children}},HL=(e,t,r,n)=>{let o=gS(()=>new Set(t.map(s=>s.value)),[t]),a=JSON.stringify(n.filter(s=>!o.has(s)));return gS(()=>{let s=JSON.parse(a);return s.length===0?t:[...t,...s.map(i=>r(e,i))]},[e,t,r,a])};function BL({renderFilterSelect:e,selectProps:t}){return e(t)}var UL=(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 VL({cell:e,labels:t,locale:r,renderFilterSelect:n,candidates:o,optionOf:a,selected:s,onSelect:i}){let l=HL(e.facet,o,a,s),d=kL(t,e.facet);return wS("fieldset",{"data-testid":e.testId,className:Fu,children:[Lr("legend",{"data-testid":`${e.testId}-caption`,className:ML,children:d}),Lr(Jc,{fallback:t.searchFilterUnavailable,children:Lr(NL,{fallback:Lr("span",{className:ES,children:t.searchFiltersLoading}),children:Lr(BL,{renderFilterSelect:n,selectProps:{facet:e.facet,label:d,options:l,value:s,onChange:c=>i(e,FL(e.facet,c,l)),locale:r}})})})]})}function DS({id:e,labelledBy:t,labels:r,locale:n,renderFilterSelect:o,facets:a,value:s,onChange:i,clearSignal:l}){let[d,c]=OL(null),u=UL(r,a,d!==null&&d.selection===s&&d.clearSignal===l),y=(p,f)=>{let b={...s,[p.key]:f};if(ll(b)!==null){c({selection:s,clearSignal:l});return}c(null),i(b)},m=a.status==="ready"?a:null;return wS("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:[m===null?null:Lr("div",{className:ku,children:PL.map(p=>Lr(VL,{cell:p,labels:r,locale:n,renderFilterSelect:o,candidates:m.options[p.key],optionOf:m.optionOf,selected:s[p.key],onSelect:y},p.facet))}),Lr("span",{"data-testid":"daily-report-search-filters-status","aria-live":"polite",className:I("flex min-h-6 items-center text-slate-600 text-xs leading-4 empty:min-h-0 dark:text-slate-300",m===null?null:"mt-2 empty:mt-0",yr),children:u})]})}import{Fragment as oN,jsx as Rt,jsxs as Aa}from"react/jsx-runtime";var $L=I("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",mr,ce),vS="inline-grid h-6 place-content-center place-items-center rounded-full border border-solid px-[11px] font-semibold text-xs tabular-nums",jL="col-start-1 row-start-1",GL="invisible col-start-1 row-start-1 after:content-[attr(data-search-toggle-reserve)]",ul=Object.freeze({field:I(vS,"bg-white text-slate-800 dark:bg-slate-900 dark:text-slate-100",mr,ce),filled:I(vS,"border-blue-800 bg-blue-800 text-white dark:border-blue-300 dark:bg-blue-300 dark:text-slate-950 forced-colors:border-[Highlight] forced-colors:bg-[Highlight] forced-colors:text-[HighlightText]",ce)}),YL=Object.freeze({union:I("mr-2 min-w-14",ul.field),intersection:I("mr-2 min-w-14",ul.filled)}),xS=Object.freeze({closed:I("ml-2 min-w-26",ul.field),open:I("ml-2 min-w-26",ul.filled)}),qL=Qc.length*wa.maxValuesPerFacet,XL="relative min-w-0",QL="pointer-events-none absolute inset-y-0 right-0 grid grid-cols-[repeat(2,--spacing(6))] place-items-center",ZL=I("pointer-events-auto col-start-2 row-start-1",dt),JL="col-start-1 row-start-1 size-4 text-slate-500 motion-safe:animate-spin dark:text-slate-400",eN="sr-only",tN=I("col-[2/-1] row-start-2 pt-1 pl-[8px] text-xs leading-4",ue,yr),rN=e=>e.authors.length+e.sourceTypes.length+e.customers.length,nN=(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):"",CS=({label:e,reserved:t})=>Aa(oN,{children:[Rt("span",{className:jL,children:e}),Rt("span",{"aria-hidden":"true","data-search-toggle-reserve":t,className:GL})]});function IS({labels:e,debounceMs:t,search:r,shownCount:n,onCommit:o,onCombineChange:a,onRelease:s,clearSignal:i,filters:l}){let[d,c]=AS(""),[u,y]=AS(!1),m=d.length>0||r.committed!==null&&!en(r.committed.text),p=Ta(),f=Ta(),b=cl(null),h=cl(null),D=cl(!1),g=cl(i),R=Ta(),S=Ta(),E=Ta(),v=Ve(()=>({search:r,onCommit:o,onRelease:s}));KL(()=>{v.current={search:r,onCommit:o,onRelease:s}});let _=()=>{h.current!==null&&clearTimeout(h.current),h.current=null},O=(z,de,ge)=>{let L=v.current;en(z)?Do(ge)?L.search.committed!==null&&L.onRelease():L.onCommit("",de,ge):L.onCommit(z,de,ge)},M=z=>{_();let de=v.current;O(z,de.search.combine,de.search.filters)},P=z=>{t===null||D.current||(_(),h.current=setTimeout(()=>M(z),t))},H=()=>{_(),c(""),Do(r.filters)?s():(r.committed===null||!en(r.committed.text))&&o("",r.combine,r.filters),b.current?.focus()},T=z=>{c(z.target.value),P(z.target.value)},w=z=>{let de=so(z);if(z.key==="Enter"&&!gn(de)){z.preventDefault(),M(d);return}Vb(de)&&m&&(z.preventDefault(),H())},A=()=>{_();let z=r.combine==="union"?"intersection":"union";en(d)&&Do(r.filters)?a(z):O(d,z,r.filters)},x=z=>{u||z.facets.load(),y(!u)},U=z=>{_(),O(d,r.combine,z)};TS(()=>{g.current!==i&&(g.current=i,h.current!==null&&clearTimeout(h.current),h.current=null,c(""))},[i]),TS(()=>()=>{h.current!==null&&clearTimeout(h.current)},[]);let k=r.combine==="intersection",V=nN(e,r,n),j=r.status==="failed"?r.failure:null,W=l!==null&&u;return Aa("search",{"data-testid":"daily-report-search",className:Mu,children:[Aa("div",{className:Pu,children:[Rt("button",{type:"button","data-testid":"daily-report-search-combine","aria-describedby":R,title:k?e.searchCombineAndTitle:e.searchCombineOrTitle,onClick:A,className:YL[r.combine],children:Rt(CS,{label:k?e.searchCombineAnd:e.searchCombineOr,reserved:k?e.searchCombineOr:e.searchCombineAnd})}),Aa("div",{className:XL,children:[Rt("input",{ref:b,type:"text","data-testid":"daily-report-search-input","aria-label":e.searchInputLabel,"aria-describedby":j===null?S:`${E} ${S}`,"aria-invalid":j==="invalid"?!0:void 0,title:e.searchSyntaxHelp,placeholder:e.searchPlaceholder,value:d,onChange:T,onKeyDown:w,onCompositionStart:()=>{D.current=!0,_()},onCompositionEnd:z=>{D.current=!1,P(z.currentTarget.value)},className:$L}),Aa("div",{className:QL,children:[r.status==="searching"?Rt(WL,{"aria-hidden":"true","data-testid":"daily-report-search-spinner",className:JL}):null,m?Rt("button",{type:"button","data-testid":"daily-report-search-clear","aria-label":e.searchClear,title:e.searchClear,onClick:H,className:ZL,children:Rt(zL,{"aria-hidden":"true",className:"size-4"})}):null]})]}),l===null?null:Rt("button",{type:"button",id:p,"data-testid":"daily-report-search-filters-toggle","aria-expanded":u,"aria-controls":W?f:void 0,onClick:()=>x(l),className:u?xS.open:xS.closed,children:Rt(CS,{label:e.searchFiltersToggle(rN(r.filters)),reserved:e.searchFiltersToggle(qL)})}),Rt("span",{id:R,hidden:!0,children:k?e.searchCombineAndTitle:e.searchCombineOrTitle}),Rt("span",{id:S,hidden:!0,children:e.searchSyntaxHelp}),Rt("span",{"data-testid":"daily-report-search-status","aria-live":"polite",className:eN,children:V}),j===null?null:Rt("p",{id:E,"data-testid":"daily-report-search-failure",className:tN,children:e.searchFailed(j)})]}),W?Rt(DS,{id:f,labelledBy:p,labels:e,locale:l.locale,renderFilterSelect:l.renderFilterSelect,facets:l.facets.state,value:r.filters,onChange:U,clearSignal:i}):null]})}var pl=new WeakMap,LS=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}},ml=(e,t)=>e.businessDate===t.businessDate&&e.sourceType===t.sourceType,aN=(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},sN=(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),!ml(i,s))return null;continue}if(!ml(s,_S(e,s.reportHubId))||r(s.reportHubId))return null;a-=1}for(let s of o.values()){if(!ml(s,_S(e,s.reportHubId))||r(s.reportHubId))return null;a+=1}return a},_S=(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},NS=(e,t,r,n)=>{if(e===null)return{items:t,hasAnswerOnlyItems:!1};let o=u=>e.ids.has(u),a=pl.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 u=sN(e,Vm(a.stream,t,e.answeredByChunk,o),r,a.answerOnlyCount);if(u!==null){let y=a.list.hasAnswerOnlyItems===u>0?a.list:{items:a.list.items,hasAnswerOnlyItems:u>0};return pl.set(e,{...a,stream:t,list:y,answerOnlyCount:u}),y}}}let s=new Map;for(let u of Um(t,e.answeredByChunk,o))s.set(u.reportHubId,u);let i=[],l=0;for(let u of e.items){let y=s.get(u.reportHubId);y!==void 0?i.push(ml(y,u)?u:y):r(u.reportHubId)||(i.push(u),l+=1)}let d=l>0;if(a!==void 0&&a.list.hasAnswerOnlyItems===d&&aN(a.items,i))return pl.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 pl.set(e,{stream:t,isReportRemoved:r,removedVersion:n,items:i,list:c,answerOnlyCount:l}),c};var OS=(e,t,r)=>{let n=ke(t,0);if(n===void 0)return null;let o=nr(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=ke(e,o+s);if(i!==void 0&&a.has(i.reportHubId))return i.reportHubId;let l=ke(e,o-s);if(l!==void 0&&a.has(l.reportHubId))return l.reportHubId}}return n.reportHubId},eu=(e,t,r,n)=>{if(r===null){let o=ke(t,0);return n&&o!==void 0?o.reportHubId:null}return nr(t,r)!==-1?r:OS(e,t,r)},MS=(e,t,r)=>e.selected===null?r!==null&&nr(t,r)!==-1?r:null:nr(t,e.selected)!==-1?e.selected:OS(e.items,t,e.selected);import{useEffect as ru,useMemo as kS,useRef as mN,useSyncExternalStore as fN}from"react";var iN=1e3,lN=5e3,dN={combine:"union",committed:null,filters:Zc,generation:0,status:"idle",failure:null,items:null,answered:null},cN=e=>e===400?"invalid":e===404?"unavailable":e===429?"busy":e===403?"refused":"failed",uN=(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))),tu=(e,t)=>e.length===t.length&&e.every((r,n)=>r===t[n]),pN=(e,t)=>{let r=dl(e),n=dl(t);return tu(r.authors,n.authors)&&tu(r.sourceTypes,n.sourceTypes)&&tu(r.customers,n.customers)},PS=e=>{let t=dN,r=new Set,n=null,o=null,a=null,s=null,i=null,l=null,d=S=>{t=S;for(let E of r)E()},c=()=>{s!==null&&clearTimeout(s),i!==null&&clearTimeout(i),s=null,i=null},u=(S,E)=>{let v=t.answered;return v!==null&&v.query.text===S.text&&v.query.combine===S.combine&&uN(v.words,E)?v:{query:{text:S.text,combine:S.combine},words:E}},y=S=>{let E=new URLSearchParams({[Ue.searchQuery]:S.text,[Ue.searchCombine]:S.combine});return bS(E,S.filters),`${e.apiBasePath}/${je.search}?${E.toString()}`},m=(S,E,v,_)=>{if(!v){d({...t,status:"failed",failure:S});return}l!==_&&(l=_,i=setTimeout(()=>{i=null,f(E,!0)},lN))},p=async(S,E,v)=>{let _=e.session.period(),O=new AbortController;n={controller:O};let M={Accept:"application/json"};v&&a!==null&&a.generation===E&&(M["If-None-Match"]=a.value);try{let P=await e.fetch(y(S),{headers:M,cache:"no-store",signal:O.signal});if(O.signal.aborted||E!==t.generation)return;if(P.status===304){t.status!=="done"&&d({...t,status:"done",failure:null});return}if(P.status===401){e.session.reportSessionEnd(_),m("failed",S,!1,E);return}if(!P.ok){m(cN(P.status),S,v,E);return}let H=Up(await P.json(),!en(S.text));if(O.signal.aborted||E!==t.generation)return;if(H===null){m("failed",S,v,E);return}let T=P.headers.get("ETag");a=T===null?null:{generation:E,value:T},l=null,d({...t,status:"done",failure:null,items:H.items,answered:H.words.length===0?null:u(S,H.words)})}catch{if(O.signal.aborted||E!==t.generation)return;m("failed",S,v,E)}finally{if(n!==null&&n.controller===O&&(n=null),n===null&&o!==null){let P=o;o=null,f(P.query,P.background)}}},f=(S,E)=>{if(n!==null){o={query:S,background:(o===null||o.background)&&E};return}p(S,t.generation,E)};return{getSnapshot:()=>t,subscribe:S=>(r.add(S),()=>{r.delete(S)}),commit:(S,E,v)=>{if(en(S)&&Do(v))throw new Error("[daily-report] search: a blank text can be committed only with a filter");let _=ll(v);if(_!==null)throw new Error(`[daily-report] search: the filter selection cannot be sent (${_})`);c();let O=t.committed,M=O!==null&&O.text===S&&O.combine===E&&pN(O.filters,v),P={text:S,combine:E,filters:v};d({...t,combine:E,committed:P,filters:v,generation:M?t.generation:t.generation+1,status:"searching",failure:null}),f(P,!1)},setCombine:S=>{S!==t.combine&&d({...t,combine:S})},release:()=>{c(),n?.controller.abort(),n=null,o=null,t.committed!==null&&d({combine:t.combine,committed:null,filters:Zc,generation:t.generation+1,status:"idle",failure:null,items:null,answered:null})},invalidate:()=>{let S=t.committed;S!==null&&(s!==null&&clearTimeout(s),s=setTimeout(()=>{s=null,f(S,!0)},iN))},dispose:()=>{c(),n?.controller.abort(),n=null,o=null}}};var FS=({apiBasePath:e,invalidation:t})=>{let r=kS(()=>PS({apiBasePath:e,session:es(rt(e),"search"),fetch:(a,s)=>fetch(a,s)}),[e]);ru(()=>()=>r.dispose(),[r]),ru(()=>Wr(rt(e),()=>r.invalidate()),[e,r]);let n=mN(t);ru(()=>{n.current!==t&&(n.current=t,r.invalidate())},[t,r]);let o=fN(r.subscribe,r.getSnapshot,r.getSnapshot);return kS(()=>({...o,commit:r.commit,setCombine:r.setCombine,release:r.release}),[o,r])};import{useCallback as HS,useEffect as BS,useLayoutEffect as yN,useMemo as nu,useRef as US,useState as RN}from"react";var VS=Object.freeze({status:"idle"}),hN=Object.freeze({status:"loading"}),bN=Object.freeze({sourceTypes:[],authors:[],customers:[]}),SN=e=>e===404?"unavailable":e===429?"busy":e===403?"refused":"failed",ou=(e,t)=>e.length===t.length&&e.every((r,n)=>r===t[n]),gN=(e,t)=>ou(e.sourceTypes,t.sourceTypes)&&ou(e.authors,t.authors)&&ou(e.customers,t.customers),EN=(e,t)=>"facets"in t?e.status!=="ready"||!gN(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},WS=(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})),DN=(e,t)=>e.map(r=>zS(r,t));function zS(e,t){let r=gr(e,t);return{value:e,label:r===void 0?e:r.label}}var KS=({apiBasePath:e,locale:t,sourceTypeConfigs:r})=>{let[n,o]=RN({apiBasePath:e,load:VS}),a=n.apiBasePath===e?n.load:VS,s=US(null),i=Ve(()=>({apiBasePath:e}));yN(()=>{i.current={apiBasePath:e}});let l=US(!1);BS(()=>()=>{s.current?.abort(),s.current=null},[e]);let d=HS(()=>{if(s.current!==null)return;let p=new AbortController;s.current=p;let f=i.current.apiBasePath;o(h=>h.apiBasePath===f&&h.load.status==="ready"?h:{apiBasePath:f,load:hN}),(async()=>{let h,D=rt(f),g=D.period();l.current=!1;try{let R=await fetch(`${f}/${je.searchFacets}`,{headers:{Accept:"application/json"},cache:"no-cache",signal:p.signal});if(p.signal.aborted)return;if(R.status===401)D.reportSessionEnd("search-facets",g),l.current=!0,h={failure:"failed"};else if(!R.ok)h={failure:SN(R.status)};else{let S=SS(await R.json());if(p.signal.aborted)return;h=S===null?{failure:"failed"}:{facets:S}}}catch{if(p.signal.aborted)return;h={failure:"failed"}}s.current=null,o(R=>({apiBasePath:f,load:EN(R.load,h)}))})()},[i]);BS(()=>Wr(rt(e),()=>{l.current&&d()}),[e,d]);let c=a.status==="ready"?a.facets:bN,u=nu(()=>{let p=new Intl.Collator(t);return{authors:WS(c.authors,p),sourceTypes:DN(c.sourceTypes,r),customers:WS(c.customers,p)}},[c,t,r]),y=HS((p,f)=>p==="sourceType"?zS(f,r):{value:f,label:f},[r]),m=nu(()=>a.status==="ready"?{status:"ready",options:u,optionOf:y,reloadFailure:a.reloadFailure}:a,[a,u,y]);return nu(()=>({state:m,load:d}),[m,d])};import{useEffect as au,useMemo as IN}from"react";var wN=4294967295,$S=e=>typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=wN,TN=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)||!Fo(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},AN=e=>{if(!(Sr(e)&&$S(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=TN(e.ranges);return t===null?null:{fingerprint:e.fingerprint,ranges:t}},vN=e=>{if(!Sr(e))return null;let t={};for(let[r,n]of Object.entries(e)){if(!Xn(r))return null;let o=AN(n);if(o===null)return null;t[r]=o}return t},jS=(e,t)=>{if(!(Sr(e)&&$S(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(!Sr(i))return null;let{reportHubId:l,matchedSets:d}=i;if(!(typeof l=="number"&&kt(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=vN(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"&&kt(i)&&r.has(i))||n.has(i))return null;n.add(i),s.push(i)}return{wordsDigest:e.wordsDigest,reports:a,deferred:s}};var GS=2*ko*br.maxDetailIds,xN=240,CN=6e4,YS=({apiBasePath:e,fetch:t,answered:r,session:n})=>{let o=r.words.length,a=r.query.combine==="union"&&o>=2,s=xf(r.words),i=new Map,l=new Map,d=0,c=new Map,u=new Set,y=0,m=0,p=null,f=new Set,b=!1,h=w=>{let A=i.get(w);if(A!==void 0)return A;let x={entry:void 0,appliedSequence:0,settledEpoch:null,retriedEpoch:null,revalidated:new Set};return i.set(w,x),l.has(w)||(d+=1),x},D=w=>{for(let A of w){let x=i.get(A);x!==void 0&&(x.settledEpoch=null)}},g=()=>{if(!(d<=GS))for(let w of[...i.keys()]){if(d<=GS)return;l.has(w)||(i.delete(w),c.delete(w),d-=1)}},R=w=>{let A=l.get(w);if(A!==void 0)for(let x of[...A])x()},S=w=>{let A=new URLSearchParams({[Ue.searchQuery]:r.query.text,[Ue.searchCombine]:r.query.combine,[Ue.reportIds]:w.join(",")});return`${e}/${je.searchMarks}?${A.toString()}`},E=(w,A)=>{for(let x of w){let U=h(x.reportHubId);U.appliedSequence>A||(U.appliedSequence=A,U.entry=x,i.delete(x.reportHubId),i.set(x.reportHubId,U),R(x.reportHubId))}g()},v=(w,A)=>{let x=[];for(let V of w){let j=i.get(V);j!==void 0&&j.retriedEpoch!==y&&x.push({id:V,record:j})}if(x.length===0)return;let k=setTimeout(()=>{u.delete(k);for(let{id:V,record:j}of x){let W=c.get(V);W===void 0||W.timer!==k||(c.delete(V),l.has(V)?(j.retriedEpoch=y,T.enqueue(V)):j.settledEpoch=null)}},A);u.add(k);for(let{id:V,record:j}of x)c.set(V,{timer:k,record:j})},_=w=>{for(let A of w)l.has(A)?T.enqueue(A):D([A])},O=async(w,A)=>{m+=1;let x=m,U=y;for(let z of w)h(z).settledEpoch=y,c.delete(z);g();let k,V=n.period();try{k=await t(S(w),{headers:{Accept:"application/json"},cache:"no-store",signal:A})}catch{return}if(k.status===401){n.reportSessionEnd(V);return}if(k.status===403)return;if(k.status===429){let z=Za(k,CN);z!==null&&U===y&&v(w,z);return}if(!k.ok)return;let j;try{j=await k.json()}catch{return}let W=jS(j,{requestedIds:w,setCount:o,expectsMatchedSets:a});A.aborted||W===null||W.wordsDigest!==s||(E(W.reports,x),U===y&&_(W.deferred))},M=()=>{b=!0,queueMicrotask(()=>{b=!1}),p=setTimeout(P,xN)},P=()=>{if(p=null,f.size!==0){for(let w of f)T.enqueue(w);f.clear(),M()}},H=w=>{if(p!==null&&!b){f.add(w);return}T.enqueue(w),p===null&&M()},T=Qa({hasListener:w=>l.has(w),batchSize:br.maxDetailIds,inFlightBound:ko,send:O});return{indicator:Object.freeze({setCount:o,showsMatchedSets:a}),subscribe:(w,A)=>{let x=l.get(w);x===void 0&&(x=new Set,l.set(w,x),i.has(w)&&(d-=1)),x.add(A);let U=i.get(w),k=U!==void 0&&U.settledEpoch===y;return x.size===1&&!k&&!T.isWanted(w)&&!f.has(w)&&H(w),()=>{let V=l.get(w);V===void 0||!V.delete(A)||V.size>0||(l.delete(w),i.has(w)&&(d+=1),f.delete(w),D(T.release(w)),g())}},read:w=>{let A=i.get(w);return A===void 0?void 0:A.entry},revalidate:(w,A,x)=>{let U=h(w),k=`${A}\0${x}`;U.revalidated.has(k)||(U.revalidated.add(k),f.delete(w),T.enqueue(w))},advanceEpoch:()=>{y+=1;for(let w of u)clearTimeout(w);u.clear(),c.clear(),f.clear();for(let w of l.keys())T.enqueue(w)},dispose:()=>{for(let A of u)clearTimeout(A);u.clear();let w=[...c.keys(),...f];c.clear(),f.clear(),p!==null&&clearTimeout(p),p=null,D([...T.dispose(),...w])}}};var qS=({apiBasePath:e,answered:t,shownRevision:r})=>{let n=IN(()=>t===null?null:YS({apiBasePath:e,answered:t,session:es(rt(e),"search-marks"),fetch:(a,s)=>fetch(a,s)}),[e,t]);au(()=>{if(n!==null)return()=>n.dispose()},[n]),au(()=>{if(n!==null)return Wr(rt(e),()=>n.advanceEpoch())},[e,n]);let o=Ve(()=>({store:n,shownRevision:r}));return au(()=>{let a=o.current;o.current={store:n,shownRevision:r},n!==null&&a.store===n&&a.shownRevision!==r&&n.advanceEpoch()},[o,n,r]),n};import{useSyncExternalStore as _N}from"react";var XS=e=>{let t=e,r=e,n=new Set;return{get:()=>t,getSettled:()=>r,set:(o,a)=>{if(t=o,!(a==="held"||o===r)){r=o;for(let s of[...n])s()}},subscribe:o=>(n.add(o),()=>{n.delete(o)})}},su=e=>_N(e.subscribe,e.getSettled,e.getSettled);import*as va from"@radix-ui/react-switch";import*as ZS from"react";import{jsx as QS}from"react/jsx-runtime";var fl=ZS.forwardRef(({className:e,...t},r)=>QS(va.Root,{className:I(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${vu} ${Cu} ${ce}`,e),...t,ref:r,children:QS(va.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${xu} ${Iu}`})}));fl.displayName=va.Root.displayName;import{Fragment as oO,jsx as Re,jsxs as Zt}from"react/jsx-runtime";var PN="list",kN=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},FN=()=>({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),HN=I(Lu,zu,"flex flex-wrap items-center gap-2"),BN=I("@container/views",Mt),UN=I("mt-0",Mt),VN=I("flex flex-1 items-center justify-center",In),tg="relative h-4 w-4 p-0 after:absolute after:-inset-1",WN="flex items-center gap-2",zN=I(tg,"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"),KN=I(tg,"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"),$N=`cursor-pointer select-none ${ue} text-xs`,jN=`hidden h-6 items-center gap-1 rounded-lg border border-amber-300/70 border-solid bg-amber-50/60 px-[3px] ${ue} sm:flex dark:border-amber-700/50 dark:bg-amber-950/40`,GN="select-none font-bold font-mono text-amber-900 text-xs uppercase dark:text-amber-200",YN="flex h-6 items-center gap-1 rounded-lg bg-amber-800 px-2 font-medium text-white text-xs shadow-xs hover:bg-amber-900 dark:bg-amber-800 dark:hover:bg-amber-900",rg=(e,t)=>{let r=Xi(t);return[e.totalCount(r),e.searchHitCount(r)]},qN=({count:e})=>{let{labels:t}=Q(),[r,n]=xn(null),o=RS(e,r);return Re(fa,{ref:n,text:t.totalCount(o),widestTexts:rg(t,Math.max(e,o))})},XN=({totalCount:e,hitCount:t})=>{let{labels:r}=Q();return t!==null?Re(fa,{text:r.searchHitCount(t),widestTexts:rg(r,e===Kr?t:Math.max(e,t))}):e===Kr?Re("span",{children:r.totalCountLoading}):Re(qN,{count:e})},QN=({checked:e,onCheckedChange:t})=>{let{labels:r}=Q(),n=JS(),o=JS();return Zt("div",{className:"flex items-center gap-1 pl-1",children:[Re(fl,{id:n,checked:e,onCheckedChange:t,title:r.autoReadTitle,"aria-describedby":o}),Re(pa,{htmlFor:n,className:$N,children:r.autoRead}),Re("span",{id:o,hidden:!0,children:r.autoReadTitle})]})},ZN=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let s=su(e);return Re(Yc,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:s,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},JN=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=su(e);return Re(Nc,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},eO=({tabItems:e,actions:t,searchRow:r})=>{let[n,o]=xn(PN),{labels:a}=Q();return Zt(ha,{value:n,onValueChange:s=>o(kN(s)),className:BN,children:[Zt("div",{className:I(Ou,Ku,$u[n]),children:[Zt("div",{className:HN,children:[Re(ba,{"aria-label":a.viewTabList,className:"flex flex-wrap gap-1",...vy,children:e.map(({value:s,label:i})=>Re(Sa,{value:s,children:i},s))}),t]}),r]}),e.map(({value:s,content:i})=>Re(So,{value:s,tabStop:!1,className:UN,children:i},s))]})},tO=Object.freeze({items:null,generation:0,revision:0,change:"none",scrollRequest:null,restoreOnRelease:!0}),rO=(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}},nO=({answer:e,hasAnswerOnlyItems:t})=>{let{phase:r,isRevalidating:n}=eo(),o=r==="complete"&&!n,a=wo(null);return iu(()=>{!(o&&t)||a.current===e||(a.current=e,ra())},[o,t,e]),null},lu=({userId:e})=>{let[t,r]=xn(!1),{labels:n,renderHeader:o,showDevControls:a,apiBasePath:s,search:i,locale:l,sourceTypeConfigs:d}=Q(),{toggleSse:c,createReport:u,refetchData:y,clearCacheAndRefetch:m}=ct(),{isSseEnabled:p,items:f,searchInvalidation:b,isReportRemoved:h,removedVersion:D}=ui(),[g]=MN(),R=FS({apiBasePath:s,invalidation:b}),S=KS({apiBasePath:s,locale:l,sourceTypeConfigs:d}),E=i===null||R.committed===null?null:R.items,[v,_]=xn(tO);v.items!==E&&_(rO(v,E,R.generation));let O=yl(()=>E===null?null:LS(E),[E]),M=yl(()=>NS(O,f,h,D),[O,f,h,D]),P=M.items,H=tf(f.length,ny()),T=E===null?H:P.length,[w,A]=xn(0),[x]=xn(()=>({preSearchTopReportId:null})),U=yl(()=>({request:v.scrollRequest,slot:x}),[v.scrollRequest,x]),k=qS({apiBasePath:s,answered:E===null?null:R.answered,shownRevision:v.revision}),V=wo(0),j=Ve(FN),[W]=xn(()=>XS(ad(P))),z=wo(null),de=wo(P),ge=wo(v.revision);eg(()=>{if(ge.current===v.revision)return;ge.current=v.revision;let J=de.current,re=W.get(),De=re;v.change==="enter"?(z.current={selected:re,items:J},De=eu(J,P,re,!0)):v.change==="start"||v.change==="update"?De=eu(J,P,re,v.change==="start"):v.change==="restore"&&z.current!==null&&(De=MS(z.current,P,re)),(v.change==="restore"||v.change==="release")&&(z.current=null),De!==re&&W.set(De,"settled")},[v,P,W]),eg(()=>{de.current=P},[P]);let L=wo(!1);iu(()=>{let J=ad(P);!L.current&&J!==null&&(L.current=!0,W.get()===null&&W.set(J,"settled"))},[P,W]);let K=async()=>{await y()},G=async()=>{await m()},te=async()=>{let re=g.get("businessDate")||sp();R.committed!==null&&(_(q=>({...q,restoreOnRelease:!1})),A(q=>q+1),R.release());let De=await u(re);W.set(De,"settled")};iu(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let ye=J=>{r(J),localStorage.setItem("daily-report-auto-read",String(J))},ie=yl(()=>[{value:"list",label:n.tabList,content:Re(ZN,{selectionStore:W,dailyReportItems:P,rowSetSize:T,autoMarkRead:t,userId:e,scrollOffsetRef:V})},{value:"tree",label:n.tabTree,content:Re("div",{className:VN,children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:Re(JN,{selectionStore:W,dailyReportItems:P,rowSetSize:T,userId:e,scrollRestoreRef:j})}],[P,T,t,e,n,W,j]);return Zt(oO,{children:[o({title:n.title,annotation:Zt("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[Re(ya,{}),Re(XN,{totalCount:H,hitCount:E===null?null:T}),Re("span",{children:n.debounce(Fn)})]})}),Re("div",{className:Pa,children:Zt("div",{className:ka,children:[E!==null&&Re(nO,{answer:E,hasAnswerOnlyItems:M.hasAnswerOnlyItems}),Re(Bn.Provider,{value:E===null?"date":"ids",children:Re(mt.Provider,{value:k,children:Re(Rd.Provider,{value:U,children:Re(eO,{tabItems:ie,searchRow:i===null?null:Re(IS,{labels:n,debounceMs:i.debounceMs,search:R,shownCount:E===null?null:T,onCommit:R.commit,onCombineChange:R.setCombine,onRelease:R.release,clearSignal:w,filters:i.renderFilterSelect===null?null:{renderFilterSelect:i.renderFilterSelect,locale:l,facets:S}}),actions:Zt("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[Zt(xr,{size:"sm",onClick:te,className:YN,title:n.createReportTitle,children:[Re(LN,{className:"h-3 w-3"}),Re("span",{children:n.createReport})]}),a&&Zt("div",{className:jN,title:n.devControls,"data-testid":"dev-controls-toolbox",children:[Re("span",{className:GN,children:"dev"}),Re(fl,{"aria-label":n.devSseToggle,title:n.devSseToggle,checked:p,onCheckedChange:c}),Zt("div",{className:WN,"data-testid":"dev-icon-buttons",children:[Re(xr,{variant:"ghost",size:"icon",onClick:K,className:zN,title:n.devReload,"data-testid":"dev-reload-btn",children:Re(ON,{className:"size-3"})}),Re(xr,{variant:"ghost",size:"icon",onClick:G,className:KN,title:n.devClearCache,"data-testid":"dev-clear-cache-btn",children:Re(NN,{className:"size-3"})})]})]}),Re(QN,{checked:t,onCheckedChange:ye})]})})})})})]})})]})};import{Fragment as ng,jsx as ze,jsxs as Rl}from"react/jsx-runtime";var iO=I(Mt,Hr),lO=I("flex min-h-0 flex-1 flex-col items-center justify-center gap-4",ue,Ot,ce),dO=I("font-bold",To),cO=I("font-medium",To),uO=I("rounded bg-slate-100 px-4 py-2 text-slate-700 text-sm hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-200 dark:hover:bg-slate-700",ce),pO=({isFailed:e,handOver:t})=>{let{labels:r,renderHeader:n}=Q(),o=og(null),a=aO(i=>(o.current=i,t.take()&&sn(i)&&vr([i]),()=>{o.current=null,i.contains(nt(i))&&t.request()}),[t]),s=()=>{vr([o.current]),Gs()};return Rl(ng,{children:[n({title:r.title,annotation:e?ze("span",{className:dO,children:r.loadErrorBadge}):Rl("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[ze(ya,{}),ze("span",{children:r.totalCountLoading}),ze("span",{children:r.debounce(Fn)})]})}),ze("div",{className:Pa,children:ze("div",{className:ka,children:ze("div",{className:iO,children:ze("div",{ref:a,tabIndex:-1,...Cy,"data-testid":"daily-report-status-panel","data-phase":e?"failed":"loading",className:I(lO,e&&"border-red-200 dark:border-red-900"),children:e?Rl(ng,{children:[ze("p",{className:cO,children:r.loadError}),ze("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:s,className:uO,children:r.reload})]}):ze("p",{children:r.loadingIds})})})})})]})},mO=()=>{let{labels:e}=Q(),t=ty();return ze(Qi,{announcement:Fc(t,e),testId:"daily-report-stream-announcer"})},fO=e=>{let t="a safe integer >= 0 (the host's count of sessions confirmed after a session end)";if(e===void 0)throw Xa("sessionEpoch",t);tt("sessionEpoch",e,0)},yO=({user:e,userId:t,sessionEpoch:r})=>{let{apiBasePath:n,onSessionExpired:o}=Q(),a=rt(n),s=Vs(n),i=eo(),[l]=sO(pb),d=og(o);cu(()=>{d.current=o}),du(()=>{ea({apiBasePath:n,userKey:t??null})},[n,t]),cu(()=>(a.setSessionExpiredHandler(()=>d.current()),()=>a.setSessionExpiredHandler(null)),[a]),cu(()=>{a.syncEpoch(r)},[a,r]),du(()=>{s?Yf():qf()},[s]),du(()=>{i.phase==="auth-required"&&a.reportSessionEnd("ids-stream",a.period())},[a,i.phase]);let c=i.hasItems||i.hasCompletedOnce;return Rl(Bd,{children:[ze(mO,{}),ze(kc.Provider,{value:!1,children:ze(Cc.Provider,{value:l,children:ze(zd,{user:e,userId:t,children:c?ze(lu,{userId:t}):ze(pO,{isFailed:i.phase==="failed",handOver:l})},t??"anonymous")})})]})},RO=({config:e,...t})=>(fO(t.sessionEpoch),ze(Fl,{config:e,children:ze(yO,{...t})}));import{createShouldRevalidate as hO}from"@aiquants/route-revalidation";var bO=Cf.filter(e=>e!=="clearCache"),SO=hO({skipIntents:{field:gt.intent,values:bO},hashChange:"default",unchangedUrl:"skip"}),gO=e=>{let t=async r=>{Cd();let n=await r.serverLoader(),o=n.userId;return xd({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};export{Qp as DAILY_REPORT_LABEL_CATALOGS,Nl as DAILY_REPORT_LABEL_KEYS,Ca as DAILY_REPORT_LATTICE_BLOCK_QUANTUM_CLASS_NAME,ME as DAILY_REPORT_LAYOUT_LATTICE_PX,Qc as DAILY_REPORT_SEARCH_FILTER_FACETS,zd as DailyReportActionProvider,Ao as DailyReportAttachmentIndicator,Fl as DailyReportConfigProvider,Nc as DailyReportDetailList,Bd as DailyReportErrorProvider,ya as DailyReportIdsStreamStatus,xc as DailyReportInstrumentationContext,Yc as DailyReportList,RO as DailyReportPage,lu as DailyReportResolvedContent,xd as bootstrapDailyReportIdsStreamSession,gO as createDailyReportClientLoader,SO as dailyReportShouldRevalidate,Bo as defaultDailyReportClientConfig,ea as ensureDailyReportIdsStreamSession,cw as foldDailyReportSourceTypeToken,Cd as primeDailyReportIdsStreamSession,Gf as readDailyReportIdsStreamRows,Pl as resolveDailyReportLabels,gr as resolveSourceTypeConfig,Ys as resyncDailyReportIdsStream,VT as useDailyReportActionContext,cc as useDailyReportComments,Q as useDailyReportConfig,Gl as useDailyReportDetail,Zw as useDailyReportIdsStream,Yl as useDailyReportPrefetch,Md as useDailyReportSseConnection};
|