(globalThis.__googlesitekit_webpackJsonp=globalThis.__googlesitekit_webpackJsonp||[]).push([[102],{17040(e,t,r){"use strict";r.r(t),r.d(t,{default:()=>k});var a=r(9397),n=r(63696),o=r(50539),l=r(33855),i=r(29785),s=r(97345),c=r(4169),u=r(4124),g=r(13047),d=r(51169),f=r(82871),m=r(97015);const p=a.vv.create({page:{paddingTop:24,paddingBottom:24,paddingHorizontal:24,fontSize:12,backgroundColor:"#f3f5f7"},header:{marginBottom:32},headerSiteName:{fontSize:20,fontWeight:700,marginBottom:4},headerDateRange:{fontSize:11,color:"#5f6368"},body:{flexGrow:1},section:{marginBottom:24},sectionTitle:{fontSize:24,fontWeight:"normal",color:"#161b18",marginBottom:12},emptyText:{fontSize:11,color:"#5f6368"},footer:{borderTopWidth:1,borderTopColor:"#dadce0",paddingTop:12,fontSize:9,color:"#5f6368"}}),h=({siteName:e,dateRange:t,userName:r,generatedAt:n,pageHeight:o=792,areas:l=[]})=>{const i=r?(0,f.sprintf)(/* translators: 1: Date and time string. 2: User name. */ /* translators: 1: Date and time string. 2: User name. */
(0,f.__)("Generated %1$s by %2$s","google-site-kit"),n,r):(0,f.sprintf)(/* translators: %s: Date and time string. */ /* translators: %s: Date and time string. */
(0,f.__)("Generated %s","google-site-kit"),n);return m.createElement(a.yo,{title:(0,f.__)("Site Kit Dashboard Report","google-site-kit"),author:"Site Kit by Google"},m.createElement(a.YW,{size:[612,o],style:p.page,wrap:!1},m.createElement(a.Ss,{style:p.header},m.createElement(a.EY,{style:p.headerSiteName},e),t?m.createElement(a.EY,{style:p.headerDateRange},t):null),m.createElement(a.Ss,{style:p.body},0===l.length&&m.createElement(a.EY,{style:p.emptyText},(0,f.__)("No report data available.","google-site-kit")),l.map(({areaSlug:e,areaTitle:t,widgets:r})=>m.createElement(a.Ss,{key:`section-${e}`,style:p.section},m.createElement(a.EY,{style:p.sectionTitle},t),r.map(({slug:e,Component:t,data:r,chartImages:n})=>t?m.createElement(t,{key:e,data:r,chartImages:n}):m.createElement(a.EY,{key:e,style:p.emptyText},(0,f.__)("Data unavailable.","google-site-kit")))))),m.createElement(a.Ss,{style:p.footer},m.createElement(a.EY,null,i))))};var b=r(97015);const E="IDLE",S="LOADING",y="BUILDING",v="COMPLETE",T="ERROR",R={[E]:[S],[S]:[y,T,E],[y]:[v,T,E],[v]:[],[T]:[]};function w(e){return!!e.pdf}const D={stage:E};function A(e,t){if("TRANSITION"===t.type){return R[e.stage].includes(t.nextStage)?{stage:t.nextStage}:e}return e}function x(e){return e instanceof DOMException&&"AbortError"===e.name}function N(e){if(e.aborted)throw new DOMException("Aborted","AbortError")}const k=({onComplete:e})=>{const[,t]=(0,n.useReducer)(A,D),r=(0,o.useRegistry)(),{setStatus:f,setProgress:m,setBlob:p,clearExport:R,clearCancelRequest:k}=(0,o.useDispatch)(l.v),I=(0,u.A)(),_=(0,o.useSelect)(e=>e(l.v).isCancelRequested(),[]),C=(0,o.useSelect)(e=>e(i.O4).getSiteName(),[]),z=(0,o.useSelect)(e=>e(i.O4).getReferenceSiteURL(),[]),L=(0,o.useSelect)(e=>e(s.oR).getDateRange(),[]),O=(0,o.useSelect)(e=>e(s.oR).getName(),[]),Y=(0,o.useSelect)(e=>e(l.v).getSelectedContextSlugs(),[]),B=(0,o.useSelect)(e=>e(s.oR).getDateRangeDates({compare:!0,referenceDate:(0,g.IS)(e(s.oR).getReferenceDate(),1)}),[]),M=(0,o.useSelect)(e=>I?e(s.oR).getViewableModules():void 0,[I]),W=(0,n.useRef)(null),P=(0,n.useRef)(null),F=(0,n.useRef)(null),G=(0,n.useRef)(null),$=(0,n.useRef)(!1),U=(0,n.useRef)(e);(0,n.useEffect)(()=>{U.current=e},[e]);const V=(0,n.useCallback)(()=>{null!==P.current&&(clearTimeout(P.current),P.current=null)},[]),j=(0,n.useCallback)(e=>{V(),P.current=setTimeout(()=>{P.current=null,$.current=!0,W.current?.abort()},e)},[V]);return(0,n.useEffect)(()=>{_&&(W.current?.abort(),k())},[_,k]),(0,n.useEffect)(()=>{const e=new AbortController;W.current=e;const{signal:n}=e;function o(e){e.preventDefault(),e.returnValue=""}globalThis.addEventListener("beforeunload",o);const l="string"==typeof C&&C.length>0?C:z||"";return async function(){try{t({type:"TRANSITION",nextStage:S}),f("progress"),m(0),j(45e3),await function(e){return new Promise((t,r)=>{if(e.aborted)return void r(new DOMException("Aborted","AbortError"));function a(){globalThis.cancelAnimationFrame(n),r(new DOMException("Aborted","AbortError"))}const n=globalThis.requestAnimationFrame(()=>{e.removeEventListener("abort",a),t()});e.addEventListener("abort",a,{once:!0})})}(n);const e=r.select(c.aO),o=[];Y.forEach(t=>{e.getWidgetAreas(t).forEach(t=>{const r=e.getWidgets(t.slug,{modules:M||void 0}).filter(w);0!==r.length&&o.push({areaSlug:t.slug,areaTitle:t.pdfTitle||t.title||"",widgets:r})})});const i=o.flatMap(e=>e.widgets);if(0===i.length)throw new Error("No PDF-capable widgets to export.");const s=new Map;let u=0;for(let e=0;e