PageSourceSearch

https://www.debugbear.com/cdn/chunk-project.b27b070f0ecea20d348b.js

js debugbear.com collected 2026-09-24 08:54:59 UTC 932,665 bytes, 1 lines download raw bytes

1"use strict";(("undefined"==typeof window?self:window).webpackChunkdebugbear_gae=("undefined"==typeof window?self:window).webpackChunkdebugbear_gae||[]).push([[5354],{92874(e,t,r){r.d(t,{h:()=>h}),r(62953);var n=r(54673),i=r(18928),o=r(37957),a=r(96540),l=r(13413),s=r(76025),c=r(81155),d=r(52775),u=r(48578),m=r(51688),p=r(74848);function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function h(e){let t=e.height,r=e.metric,h=e.history,f=e.isErrorResponse,v=e.hideXAxis;const b=(j=(0,a.useState)(null),w=2,function(e){if(Array.isArray(e))return e}(j)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(j,w)||function(e,t){if(e){if("string"==typeof e)return g(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?g(e,t):void 0}}(j,w)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),x=b[0],y=b[1];var j,w;return(0,a.useMemo)(()=>{var e;const a=null==h||null===(e=h.record)||void 0===e?void 0:e.metrics;if(s.RQ.includes(r))return y(null),(0,p.jsx)(c.G,{isErrorResponse:f,unsupportedForMetric:!0});if(!h||null==a||!a[r])return y(null),(0,p.jsx)(c.G,{isErrorResponse:f,metric:r});if(!a[r].histogramTimeseries)return y(null),(0,p.jsx)(c.G,{isErrorResponse:f,unsupportedForMetric:!0});const g=a[r].histogramTimeseries,b=[{name:"Bad",data:g[2].densities.map((e,t)=>(0,u.ku)({y:e,x:new Date(h.record.collectionPeriods[t].lastDate.year,h.record.collectionPeriods[t].lastDate.month-1,h.record.collectionPeriods[t].lastDate.day).valueOf()},{period:h.record.collectionPeriods[t],range:(0,u.Lu)(r,g[2])})),color:(0,l.yo)("fail"),fillColor:(0,l.f9)(.2).fail,lineColor:(0,l.f9)(1).fail},{name:"Okay",data:g[1].densities.map((e,t)=>(0,u.ku)({y:e,x:new Date(h.record.collectionPeriods[t].lastDate.year,h.record.collectionPeriods[t].lastDate.month-1,h.record.collectionPeriods[t].lastDate.day).valueOf()},{period:h.record.collectionPeriods[t],range:(0,u.Lu)(r,g[1])})),color:(0,l.yo)("warn"),fillColor:(0,l.f9)(.2).warn,lineColor:(0,l.f9)(1).warn},{name:"Good",data:g[0].densities.map((e,t)=>(0,u.ku)({y:e,x:new Date(h.record.collectionPeriods[t].lastDate.year,h.record.collectionPeriods[t].lastDate.month-1,h.record.collectionPeriods[t].lastDate.day).valueOf()},{period:h.record.collectionPeriods[t],range:(0,u.Lu)(r,g[0])})),color:(0,l.yo)("pass"),fillColor:(0,l.f9)(.2).pass,lineColor:(0,l.f9)(1).pass}],j={chart:{height:null!=t?t:50,spacing:v?[0,0,0,0]:[0,0,4,0],type:"areaspline",backgroundColor:"#fff"},title:{style:{display:"none"}},credits:{enabled:!1},time:{timezone:"UTC"},plotOptions:{series:{lineWidth:2,turboThreshold:0,animation:!1},areaspline:{stacking:"normal",marker:{enabled:!1}}},yAxis:{min:0,title:{enabled:!1},visible:!1,max:1.01,endOnTick:!1},xAxis:{min:b[0].data[0].x,max:b[0].data.at(-1).x,maxPadding:0,type:"datetime",...m.p[v?"disabled":"enabled"]},legend:{enabled:!1},series:b,tooltip:{outside:!0,useHTML:!0}};return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(n.F,{options:j,callback:y}),(0,p.jsx)(i.U,{chart:x,children:e=>{const t=null==e.y||null==e.percentage?"N/A":`${e.percentage.toFixed(2)}%`;return(0,p.jsx)(d.C,{label:o.I7[r],value:t,color:e.color,period:e.period,x:e.x})}})]})},[h,x,v])}},72814(e,t,r){r.d(t,{B:()=>h}),r(62953);var n=r(54673),i=r(18928),o=r(37957),a=r(41802),l=r(96540),s=r(76025),c=r(48578),d=r(81155),u=r(52775),m=r(51688),p=r(74848);function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function h(e){let t=e.history,r=e.metric,h=e.isErrorResponse,f=e.height,v=void 0===f?90:f,b=e.hideXAxis;const x=(w=(0,l.useState)(null),S=2,function(e){if(Array.isArray(e))return e}(w)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(w,S)||function(e,t){if(e){if("string"==typeof e)return g(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?g(e,t):void 0}}(w,S)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),y=x[0],j=x[1];var w,S;return(0,l.useMemo)(()=>{var e,l,g,f,x,w,S,_,k;const C=null!==(e=null==t||null===(l=t.record.metrics[r])||void 0===l||null===(l=l.percentilesTimeseries)||void 0===l?void 0:l.p75s.map((e,n)=>{const i=(0,s.YH)(r,e);return(0,c.ku)({color:(0,c.HQ)(i,t.record.metrics[r].histogramTimeseries),x:new Date(t.record.collectionPeriods[n].lastDate.year,t.record.collectionPeriods[n].lastDate.month-1,t.record.collectionPeriods[n].lastDate.day).valueOf(),y:i},{period:t.record.collectionPeriods[n]})}))&&void 0!==e?e:[],A=null!==(g=null==t||null===(f=t.record.metrics[r])||void 0===f?void 0:f.percentilesTimeseries.p75s.reduce((e,t)=>{var n;return Math.max(e,1.1*(null!==(n=(0,s.YH)(r,t))&&void 0!==n?n:0)||0)},(0,c.kd)(t.record.metrics[r].histogramTimeseries)))&&void 0!==g?g:0,N={chart:{height:v,type:"spline",spacing:b?[0,0,0,0]:[0,0,4,0]},title:{style:{display:"none"}},credits:{enabled:!1},time:{timezone:"UTC"},plotOptions:{series:{lineWidth:2,turboThreshold:0,animation:!1,states:{hover:{lineWidthPlus:0}}},spline:{marker:{enabled:!1}}},yAxis:{visible:!0,min:0,max:A,labels:{enabled:!1},title:{enabled:!1},plotBands:null!=t&&null!==(x=t.record.metrics[r])&&void 0!==x&&null!==(x=x.percentilesTimeseries)&&void 0!==x&&x.p75s?(0,c.IS)(t.record.metrics[r].histogramTimeseries,A):void 0,endOnTick:!1,gridLineWidth:0},xAxis:{type:"datetime",min:null===(w=C[0])||void 0===w?void 0:w.x,max:null===(S=C.at(-1))||void 0===S?void 0:S.x,...m.p[b?"disabled":"enabled"]},legend:{enabled:!1},series:null!=t&&null!==(_=t.record.metrics[r])&&void 0!==_&&null!==(_=_.percentilesTimeseries)&&void 0!==_&&_.p75s?[{type:"spline",name:o.I7[r],data:C,color:"rgba(128, 128, 255, 1)"}]:[]};return null!=t&&null!==(k=t.record.metrics[r])&&void 0!==k&&null!==(k=k.percentilesTimeseries)&&void 0!==k&&k.p75s?(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(n.F,{options:N,callback:j}),(0,p.jsx)(i.U,{chart:y,children:e=>{const t=e.y,n=o.I7[r];return(0,p.jsx)(u.C,{label:n,value:null===t?"N/A":(0,a.Fl)(t,(0,c.PB)(r)),color:e.color,period:e.period,x:e.x})}})]}):(j(null),(0,p.jsx)(d.G,{isErrorResponse:h,metric:r}))},[t,y,b])}},25475(e,t,r){r.d(t,{d:()=>A}),r(25440),r(62953);var n=r(17811),i=r(62264),o=r(7819),a=r(41802),l=r(32485),s=r.n(l),c=r(2543),d=r(85072),u=r.n(d),m=r(97825),p=r.n(m),g=r(77659),h=r.n(g),f=r(55056),v=r.n(f),b=r(10540),x=r.n(b),y=r(41113),j=r.n(y),w=r(10572),S={};S.styleTagTransform=j(),S.setAttributes=v(),S.insert=h().bind(null,"head"),S.domAPI=p(),S.insertStyleElement=x(),u()(w.A,S),w.A&&w.A.locals&&w.A.locals;var _=r(74848);function k(e){switch(e){case"pct":return"00%";case"ms":return"000ms";case"count":case"score":case"mbps":return"0";case"bytes":return"0.00B";case"float":return"0.00";default:return""}}function C(e){let t=e.chartMetric,r=e.currentValue,o=e.initialValue,l=e.status;const s=null===o||null===r?null:t.getChangeRating(r,o),c=Number(r)-Number(o);return"loading"===l?null:(0,_.jsxs)(_.Fragment,{children:[null===s?(0,_.jsx)("span",{className:`ml-1 mr-1 crux-rating-chart-header__trend-icon-${s}`,children:"-"}):c<0?(0,_.jsx)(n.n,{className:`crux-rating-chart-header__trend-icon-${s}`}):(0,_.jsx)(i.e,{className:`crux-rating-chart-header__trend-icon-${s}`}),(0,_.jsx)("div",{className:"ml-1 scale-small-2 color-coldGrey1",children:null===c?"N/A":(0,a.Fl)(c,t.dataType,{forceSign:!!c})})]})}function A(e){var t;let r=e.values,n=e.device,i=e.metricId,l=e.title,d=e.status;const u=i?(0,o.Hh)(i):void 0,m=function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return null!==(e=(0,c.first)(t.filter(e=>null!=e).map(Number)))&&void 0!==e?e:null}(r),p=function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return null!==(e=(0,c.last)(t.filter(e=>null!=e).map(Number)))&&void 0!==e?e:null}(r),g=null==u?void 0:u.getRating(p,n);return u?(0,_.jsxs)("div",{className:"crux-rating-chart-header__container",children:[(0,_.jsx)("div",{className:"crux-rating-chart-header__title",children:null===(t=u.shortTitle)||void 0===t||null===(t=t.replace(" (Good)",""))||void 0===t?void 0:t.replace(" (CrUX)","")}),(0,_.jsx)(C,{chartMetric:u,initialValue:m,currentValue:p,status:d}),(0,_.jsxs)("div",{className:"ml-auto d-flex align-items-center",children:[(0,_.jsx)("div",{className:s()("crux-rating-chart-header__rating-indicator",`
1crux-rating-chart-header__rating-indicator__${g}`)}),(0,_.jsx)("div",{className:s()("crux-rating-chart-header__rating-value","loading"===d?"crux-rating-chart-header__rating-value-placeholder":""),children:"loading"===d?k(u.dataType):(0,a.Fl)(p,u.dataType)})]})]}):(0,_.jsx)("div",{className:"crux-rating-chart-header__container",children:(0,_.jsx)("div",{className:"crux-rating-chart-header__title",children:l})})}},51688(e,t,r){r.d(t,["p",0,{enabled:{visible:!0,labels:{enabled:!0,distance:4,format:"{value:%b}"},tickLength:4},disabled:{visible:!1,labels:{enabled:!1}}}])},38567(e,t,r){r.r(t),r.d(t,{Project:()=>Nw}),r(62953);var n=r(90266),i=r(37894),o=r(47096),a=r(67122),l=r(86297),s=r(13087),c=r(95503),d=r(47090),u=(r(3296),r(27208),r(48408),r(44952)),m=r(3006),p=r(9802),g=r(71121),h=r(2747),f=r(6869),v=r(47490),b=r(9254),x=r(32304),y=r(64670),j=r(11178),w=r(1404),S=r(27083),_=r(24389),k=r(7819),C=(r(87441),r(81898)),A=r(28448),N=r(41802),I=r(31492),T=r(2543);const D={lcp:"largest_contentful_paint",cls:"cumulative_layout_shift",inp:"interaction_to_next_paint"};function P(e){return"fail"===e?1:"warn"===e?2:"pass"===e?3:4}function F(e,t,r){var n,i;const o=null==e||null===(n=e[t])||void 0===n?void 0:n.mobile;if(!o)return;const a=null===(i=o[D[r]])||void 0===i||null===(i=i.percentiles)||void 0===i?void 0:i.p75;return void 0!==a?"string"==typeof a?parseFloat(a):a:void 0}function M(e){var t;const r=(0,I.A)(e);return(null!==(t=null==r?void 0:r.pathname)&&void 0!==t?t:"/").split("/").filter(Boolean)}function O(e,t){return"/"+M(e).map(R).slice(0,t).join("/")}function L(e){return/^\d+$/.test(e)}function E(e){return/^[0-9a-fA-F-]{20,}$/.test(e)}function R(e){return L(e)||E(e)?"*":e}r(63227);var U=r(58233),B=r(96540),$=r(76213),V=r(30843),H=r(19158),W=r(74848);function G(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return z(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?z(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const q=1e3,X={select:()=>"text-center p-0",url:()=>"p-0"};function K(e){let t=e.pages,r=e.cruxLookupData,n=e.onSetPriorityOrder;const i=(0,U.j7)(),o=(0,T.filter)(t,e=>!e.pageLoadId),a=o.map(e=>e.url),l=i.values.selectedPages.length===o.length,s=G(B.useState(!1),2),c=s[0],d=s[1],u=B.useRef(null);B.useEffect(()=>{if(!c)return;const e=e=>{u.current&&!u.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[c]);const m=o.length>2e3;return(0,W.jsxs)("div",{ref:u,style:{position:"relative",display:"inline-block"},children:[(0,W.jsx)("input",{type:"checkbox",name:"selectedAll",checked:l,className:"checkbox",onChange:e=>{if(e.target.checked){if(o.length>200)return void d(!0);i.setFieldValue("selectedPages",a)}else i.setFieldValue("selectedPages",[]),d(!1)},style:{width:16,height:16,opacity:l&&0===i.values.selectedPages.length?.5:1}}),c&&(0,W.jsxs)("div",{className:"bg-white1 border-color-grey5",style:{position:"absolute",top:"calc(100% + 4px)",left:0,zIndex:10,minWidth:280,borderWidth:1,borderStyle:"solid",borderRadius:4,boxShadow:"0 2px 8px rgba(0,0,0,0.08)",textAlign:"left"},children:[(0,W.jsx)(Q,{title:"Select All",description:m?"Disabled: too many pages":`Select all ${(0,N.Ke)(o.length)} pages in the current view.`,disabled:m,onClick:()=>{i.setFieldValue("selectedPages",a),d(!1)}}),(0,W.jsx)(Q,{title:"Auto Select up to 100",description:"A diverse sample of pages, capped at 100.",onClick:()=>{J({urls:a,cruxLookupData:r,options:{max:100,perBucket:5},formik:i,onSetPriorityOrder:n}),d(!1)}}),(0,W.jsx)(Q,{title:"Auto Select up to 1000",description:"A diverse sample of pages, capped at 1000.",onClick:()=>{J({urls:a,cruxLookupData:r,options:{max:1e3},formik:i,onSetPriorityOrder:n}),d(!1)}}),(0,W.jsx)(Q,{title:"Deselect All",description:i.values.selectedPages.length>0?`Clear the ${(0,N.Ke)(i.values.selectedPages.length)} currently selected pages.`:"Nothing is currently selected.",disabled:0===i.values.selectedPages.length,onClick:()=>{i.setFieldValue("selectedPages",[]),d(!1)}})]})]})}function Y(e){var t,r;return null!==(t=null===(r=(0,I.A)(e))||void 0===r?void 0:r.pathname.split("/").filter(
1Boolean).length)&&void 0!==t?t:0}function J(e){let t=e.urls,r=e.cruxLookupData,n=e.options,i=e.formik,o=e.onSetPriorityOrder;const a=function(e){var t,r,n;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=null!==(t=i.max)&&void 0!==t?t:1e3,a=null!==(r=i.perBucket)&&void 0!==r?r:50,l=null!==(n=i.levels)&&void 0!==n?n:3,s=e.map((e,t)=>{var r;const n=M(e);let o=function(e){const t=M(e);let r=0;for(const e of t)L(e)||E(e)?r-=2:e.length<3||(r+=1);return r}(e);return null!==(r=i.hasCruxData)&&void 0!==r&&r.call(i,e)&&(o+=3),{url:e,originalIndex:t,score:o,bucketKey:O(e,l),depth:n.length}}),c=new Map;for(const e of s){const t=Math.min(e.depth,4);let r=c.get(t);r||(r=[],c.set(t,r)),r.push(e)}for(const e of c.values())e.sort((e,t)=>t.score!==e.score?t.score-e.score:e.originalIndex-t.originalIndex);const d=Array.from(c.keys()).sort((e,t)=>e-t),u=new Map(d.map(e=>[e,0])),m=new Map,p=[],g=e=>{var t;const r=c.get(e);if(!r)return!1;let n=null!==(t=u.get(e))&&void 0!==t?t:0;for(;n<r.length;){var i;const t=r[n];n++;const o=null!==(i=m.get(t.bucketKey))&&void 0!==i?i:0;if(!(o>=a))return p.push(t.url),m.set(t.bucketKey,o+1),u.set(e,n),!0}return u.set(e,n),!1};c.has(0)&&g(0);const h=new Map([[1,2]]);for(;p.length<o;){let e=!1;for(const t of d){var f;if(p.length>=o)break;const r=null!==(f=h.get(t))&&void 0!==f?f:1;for(let n=0;n<r&&!(p.length>=o)&&g(t);n++)e=!0}if(!e)break}return p}(t,{...n,hasCruxData:r?e=>Object.hasOwn(r,e):void 0}),l=[...a].sort((e,t)=>{const r=Y(e)-Y(t);return 0!==r?r:e.length-t.length});i.setFieldValue("selectedPages",a),null==o||o(l)}function Q(e){let t=e.title,r=e.description,n=e.disabled,i=e.onClick;return(0,W.jsxs)("button",{type:"button",disabled:n,onClick:i,className:"d-block w-100 text-left p-2 bg-none color-grey1 "+(n?"":"hover-bg-grey6"),style:{border:"none",opacity:n?.5:1,cursor:n?"not-allowed":"pointer"},children:[(0,W.jsx)("div",{style:{fontWeight:500},children:t}),(0,W.jsx)("div",{className:"color-coldGrey1 scale-small-1",children:r})]})}const Z={select:{heading:{title:"",style:{width:"50px",textAlign:"center"},extraContent:e=>{var t;return(0,W.jsx)(K,{pages:e.filteredPages,cruxLookupData:null===(t=e.scan)||void 0===t?void 0:t.cruxLookupData,onSetPriorityOrder:e.setPriorityOrderUrls})}},render:e=>(0,W.jsx)("label",{className:"mt-0 p-2 scale-base",style:{cursor:e.pageLoadId?"not-allowed":"pointer"},children:(0,W.jsx)(U.D0,{type:"checkbox",name:"selectedPages",value:e.url,className:"checkbox",...e.pageLoadId?{onChange:()=>{},checked:!0}:{},style:e.pageLoadId?{opacity:.5,cursor:"not-allowed"}:{}})})},url:{heading:{title:"URL"},render:(e,t)=>{var r;let n=!1;try{var i;const r=new URL(e.url).hostname;n=!(null===(i=t.rumDataDomains)||void 0===i||!i.some(e=>{try{return new URL(e).hostname===r}catch{return e===r}}))}catch{}const o=(()=>{try{return new URL(e.url).pathname}catch{var t;return null!==(t=e.path)&&void 0!==t?t:e.url}})();return(0,W.jsx)("div",{className:"d-flex justify-content-between align-items-baseline",children:(0,W.jsxs)("label",{className:"col mt-0 p-2 color-grey1",style:{cursor:e.pageLoadId?"not-allowed":"pointer"},children:[(0,W.jsx)(U.D0,{type:"checkbox",name:"selectedPages",value:e.url,className:"checkbox d-none",...e.pageLoadId?{onChange:()=>{},checked:!0}:{},style:e.pageLoadId?{opacity:.5,cursor:"not-allowed"}:{}}),null!==(r=e.path)&&void 0!==r?r:e.url,e.pageLoadId?(0,W.jsx)($.N_,{to:`/project/${t.projectId}/pageLoad/${e.pageLoadId}`,className:"scale-small-1 opacity-0.5 hover:opacity-1 ml-1",target:"_blank",children:"Lab Data"}):null,n?(0,W.jsx)($.N_,{to:A.DS.projectRumUrl(t.projectId,"trends",{autoPath:o}),className:"scale-small-1 opacity-0.5 hover:opacity-1 ml-1",target:"_blank",children:"RUM Data"}):null]})})}},lcp:{heading:{title:"LCP",style:{width:100},alignRight:!0,infoText:"Largest Contentful Paint score from Google's Chrome User Experience Report (CrUX)"},getSortByValue:(e,t)=>F(t.scan.cruxLookupData,e.url,"lcp"),render:(e,t)=>(0,W.jsx)(re,{metric:"lcp",websiteScan:t.scan,url:e.url})},cls:{heading:{title:"CLS",style:{width:100},alignRight:!0,infoText:"Cumulative Layout Shift score from Google's Chrome User Experience Report (CrUX)"},getSortByValue:(e,t)=>
1F(t.scan.cruxLookupData,e.url,"cls"),render:(e,t)=>(0,W.jsx)(re,{metric:"cls",websiteScan:t.scan,url:e.url})},inp:{heading:{title:"INP",style:{width:100},alignRight:!0,infoText:"Interaction to Next Paint score from Google's Chrome User Experience Report (CrUX)"},getSortByValue:(e,t)=>F(t.scan.cruxLookupData,e.url,"inp"),render:(e,t)=>(0,W.jsx)(re,{metric:"inp",websiteScan:t.scan,url:e.url})}};function ee(e,t){const r=new Set(e.filter(e=>!e.pageLoadId).map(e=>e.url));return t.filter(e=>r.has(e))}function te(e){var t,r,n;let i=e.project,o=e.scanId;const a=G(B.useState(null),2),l=a[0],s=a[1],c=G(B.useState(""),2),d=c[0],p=c[1],g=G((0,V.t)("cruxFilter","all",{useReplaceNavigation:!0}),2),A=g[0],D=g[1],M=G(B.useState(null),2),O=M[0],L=M[1],E=G(B.useState(!1),2),R=E[0],z=E[1],K=G(B.useState([]),2),Y=K[0],J=K[1];B.useEffect(()=>{window.scrollTo(0,0)},[]),B.useEffect(()=>{const e=function(e){let t;return{promise:new Promise(r=>{async function n(){try{const n=await u.FH.websiteScan.get(e);"complete"!=n.status&&"error"!==n.status||(clearInterval(t),r(n))}catch(e){clearInterval(t)}}n(),t=setInterval(n,2e3)}),cancel:()=>clearInterval(t)}}(o);return e.promise.then(e=>{var t,r;e.pages=(t=e.pages,r=e.cruxLookupData,(0,T.sortBy)(t,e=>function(e,t,r){const n=(0,k.ew)("lcp",null!=e?e:null),i=(0,k.ew)("cls",null!=t?t:null),o=(0,k.ew)("inp",null!=r?r:null);return 100*(P(n)+P(i)+P(o))-((null!=e?e/2500:0)+(null!=t?t/.1:0)+(null!=r?r/200:0))}(F(r,e,"lcp"),F(r,e,"cls"),F(r,e,"inp")))),s(e),z(!(!e.cruxLookupStartedAt||e.cruxLookupCompletedAt))}),e.cancel},[]);const Q=(0,$.Zp)(),te=B.useMemo(()=>null!=l&&l.pages?function(e,t){if(!t)return{...e,pages:e.pages.map(e=>{})};const r=t.filter(t=>!!t.url.startsWith(e.siteUrl)),n=new Map(r.map(e=>[e.url,e])),i=e.pages.map(e=>{let t=(0,I.A)(e);const r=t?t.pathname+t.search:void 0,i=n.get(e);return i?{url:e,path:r,pageLoadId:i.id}:{url:e,path:r}});return{...e,pages:i}}(l,i.pageLoads):void 0,[l,i.pageLoads]),re=B.useMemo(()=>{var e,t;const r=null!==(e=null===(t=i.rumSnippet)||void 0===t?void 0:t.dataDomains)&&void 0!==e?e:[];if(te){let e=(n=d,o=te.pages,(0,C.nF)(o.map(e=>({...e,device:1,tags:[]})),{search:[n],formFactor:"all"}).map(e=>({...e,device:void 0,tags:void 0})));if("all"!==A&&(e=e.filter(e=>{const t=function(e,t){const r=F(t,e,"lcp"),n=F(t,e,"cls"),i=F(t,e,"inp"),o=[(0,k.ew)("lcp",null!=r?r:null),(0,k.ew)("cls",null!=n?n:null),(0,k.ew)("inp",null!=i?i:null)];return o.some(e=>"unknown"!==e)?o.some(e=>"fail"===e)?"poor":o.some(e=>"warn"===e)?"ok":"good":"unknown"}(e.url,te.cruxLookupData);return"withData"===A?"unknown"!==t:"ok"===t||"poor"===t})),Y.length>0){const t=new Map(Y.map((e,t)=>[e,t]));e=[...e].sort((e,r)=>(t.has(e.url)?t.get(e.url):1/0)-(t.has(r.url)?t.get(r.url):1/0))}return{projectId:i.id,rumDataDomains:r,filteredPages:e,totalResultCount:te.pages.length,scan:te,setPriorityOrderUrls:J}}var n,o;return{projectId:i.id,rumDataDomains:r,filteredPages:void 0,setPriorityOrderUrls:J}},[i.id,null===(t=i.rumSnippet)||void 0===t?void 0:t.dataDomains,te,d,A,Y]);if(null==l)return(0,W.jsxs)(j.U5,{children:[(0,W.jsx)("h2",{className:"text-center",children:"Scanning website..."}),(0,W.jsx)("div",{className:"text-center scale-small-1 color-coldGrey1",children:"This may take a minute or two"}),(0,W.jsx)(w.y,{})]});if("error"==l.status||0==l.pages.length)return(0,W.jsxs)(j.U5,{className:"text-center",children:[(0,W.jsx)("h2",{children:"Scan was not successful"}),(0,W.jsxs)("p",{className:"mb-2 mt-4",children:["Could not find any pages for ",new URL(l.siteUrl).hostname,". This likely means that we couldn't find a sitemap."]}),(0,W.jsx)("p",{children:"Think this scan should be working? Contact support and we'll look into it."}),(0,W.jsx)($.N_,{to:`/project/${i.id}/pageLoad/new?mode=scan`,className:"btn btn-primary btn-sm mb-3 mt-3",children:"Go Back"})]});const ie=new URL(l.siteUrl);return(0,W.jsx)(B.Fragment,{children:(0,W.jsxs)(j.U5,{title:`Website Scan Result: ${ie.hostname}`,moreInfoContent:"The website scan makes setting up monitoring on your website easier and reports real user data from Google's Chrome User Experience report (CrUX).",moreInfoHref:"/docs/website-scan",boxHeading:!0,titleChildren:re.filteredPages?(0,W.jsxs)("span",{className:"small color-coldGrey1",children:["Already monitoring"," ",re.filteredPages.filter(e=>e.pageLoadId).length," /"," ",(0,N.Ke)(re.filteredPages.length)," ","pages"]}):null,children:[(0,W.jsxs)("div",{className:"d-flex align-items-middle justify-content-between",style:{marginBottom:10},children:[(0,W.jsxs)("div",{children:[(0,W.jsx)("input",{type:"text","aria-label":"Search",placeholder:"Filter pages",value:d,onInput:e=>p(e.target.value),className:"scale-small-1 mr-2",style:{width:200,padding:"4px 4px 4px 15px"}}),(0,W.jsx)(x.c,{content:(0,W.jsxs)("div",{children:[(0,W.jsxs)("p",{className:"mb-2",children:[(0,W.jsx)("code",{children:"about | blog"}),' will match URLs that contain "about" or "blog".']}),(0,W.jsxs)("p",{className:"mb-0",children:["Use an exclamation mark to exclude pages, e.g."," ",(0,W.jsx)("code",{children:"!homepage"}),"."]})]})})]}),(0,W.jsxs)("div",{className:"d-flex align-items-center ml-auto",children:[(0,W.jsxs)(f.w,{children:[(0,W.jsx)("button",{type:"button",className:"mr-3 scale-small-1 btn btn-link p-0",onClick:async()=>{var e;const t=(null!==(e=null==te?void 0:te.pages)&&void 0!==e?e:[]).map(e=>e.url).join("\n");try{await navigator.clipboard.writeText(t)}
1catch{}},children:"Copy URLs"}),(0,W.jsx)("a",{href:`/debugbearadmin/previewWebsiteScanCompleteEmail/${o}`,target:"_blank",rel:"noopener noreferrer",className:"mr-3 scale-small-1",children:"Preview Email"})]}),(0,W.jsx)(S.m,{overlay:(0,W.jsxs)("div",{children:[(0,W.jsx)("p",{children:"Identify slow pages with real user experience metrics from the Chrome User Experience Report."}),(0,W.jsxs)("p",{className:"mb-0",children:[(0,W.jsx)("strong",{children:"Collecting this data takes some time"}),", and we'll email you when data collection is complete."]})]}),children:l.cruxLookupCompletedAt&&Object.keys(null!==(r=l.cruxLookupData)&&void 0!==r?r:{}).length>0?(0,W.jsx)(H.L,{options:[{title:"All Pages",value:"all"},{title:"With CrUX Data",value:"withData"},{title:"Failing CrUX",value:"failing"}],optionValue:A,onSelectOption:e=>D(e),attributes:{"data-testid":"scan-crux-filter"}}):(0,W.jsx)(ne,{loading:R,completed:!!l.cruxLookupCompletedAt,cruxDataCount:Object.keys(null!==(n=l.cruxLookupData)&&void 0!==n?n:{}).length,canEdit:i.canEdit,onButtonClick:()=>{z(!0),u.FH.websiteScan.triggerLoadCrux(o).then(e=>{null!=e&&e.cruxLookupCompletedAt&&(s(e),z(!1))})}})})]})]}),(0,W.jsx)(U.l1,{initialValues:{selectedPages:[]},onSubmit:e=>{let t=e.selectedPages;const r=ee(re.filteredPages,t);r.length>2e3||Q((0,_.Ao)(`/project/${i.id}/pageLoad/new`,{url:r}))},children:e=>{var t,r,n;let i=e.values;return(0,W.jsxs)(U.lV,{className:"wide-form",children:[(0,W.jsxs)("div",{style:{height:"calc(100vh - 380px)",overflowY:"scroll",border:"1px solid #000",marginBottom:"1rem"},className:"border-color-eee",children:[(0,W.jsx)(h.mY,{columns:Z,items:(null!==(t=re.filteredPages)&&void 0!==t?t:[]).slice(0,q),className:"scan-result-table",cellClassNames:X,extraProps:re,extraSortProps:re,sortByColumn:O,onSortByChange:e=>L(e),stickyHeader:!0}),(null!==(r=null===(n=re.filteredPages)||void 0===n?void 0:n.length)&&void 0!==r?r:0)>q&&(0,W.jsxs)("div",{className:"color-coldGrey1 scale-small-1 text-center p-2",style:{borderTop:"1px solid #eee"},children:["First ",(0,N.Ke)(q)," ","sitemap URLs shown"]})]}),(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(null==te?void 0:te.pages.length)>=1e4?(0,W.jsxs)(m.E,{className:"d-flex align-items-center m-2",children:[(0,W.jsx)(b.i,{}),(0,W.jsxs)("span",{className:"ml-1",children:["This scan returned"," ",(0,N.Ke)(1e4)," or more pages. Some items may be excluded."]})]}):null,(0,W.jsxs)("span",{className:"scale-small-1 d-inline-flex align-items-center "+("crawl"===l.dataSource&&(null==te?void 0:te.pages.length)<20?"color-red1":"color-coldGrey1"),style:{lineHeight:1,fontWeight:"crawl"===l.dataSource&&(null==te?void 0:te.pages.length)<20?700:void 0},children:["crawl"===l.dataSource&&(0,W.jsx)(b.i,{size:14,className:"mr-1"}),(0,W.jsxs)("span",{children:["Source:"," ","sitemap"===l.dataSource?"Sitemap":"crawl"===l.dataSource?"Website Crawl":"Unknown"]}),(0,W.jsx)("span",{className:"ml-1 d-inline-flex align-items-center",children:(0,W.jsx)(x.c,{content:"sitemap"===l.dataSource?(0,W.jsx)("p",{className:"mb-0",children:"Pages were discovered from the website's sitemap.xml file."}):"crawl"===l.dataSource?(0,W.jsxs)("div",{children:[(0,W.jsx)("p",{className:l.fallbackReason?"mb-2":"mb-0",children:"Pages were discovered by crawling the website and following links."}),l.fallbackReason&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("p",{className:"mb-2",children:["Failed to fetch sitemap (",l.fallbackReason,")"]}),(0,W.jsx)("p",{className:"mb-0",children:'If DebugBear isn\'t able to access your sitemap, consider allowlisting user agents containing "dbb-scan".'})]})]}):(0,W.jsx)("p",{className:"mb-0",children:"Source information not available."})})})]}),(0,W.jsxs)("div",{className:"ml-auto d-flex align-items-center",children:[(0,W.jsxs)("span",{className:"form-note","data-testid":"scan-result-selected",children:[ee(re.filteredPages,i.selectedPages).length," ","Pages Selected"]}),(()=>{const e=ee(re.filteredPages,i.selectedPages).length,t=e<1||e>2e3,r=e>2e3?`Can't add more than 2000 pages at a time. You currently have ${(0,N.Ke)(e)} selected.`:e<1?"Select at least one page to add.":null;return(0,W.jsx)(v.b,{title:"Add Pages",className:"btn btn-primary ml-3",icon:(0,W.jsx)(y.c,{strokeWidth:1.7,className:"mr-2"}),disabled:t,disabledStateExplanation:r,isSubmitting:!1})})()]})]})]})}})]})})}function re(e){let t=e.metric,r=e.websiteScan,n=e.url;
1const i=F(r.cruxLookupData,n,t);if("number"!=typeof i){let e="?";return r.cruxLookupStartedAt&&(e="…",r.cruxLookupCompletedAt&&(e="–")),(0,W.jsx)("div",{className:"color-coldGrey1",children:e})}const o=(0,k.ew)(t,i),a="cls"===t?(0,N.Fl)(i,"float"):(0,N.Fl)(i,"ms");return(0,W.jsxs)("div",{className:"d-flex align-items-center justify-content-end",children:[(0,W.jsx)("div",{style:{flexShrink:0},children:(0,W.jsx)(g.zA,{rating:o,size:6})}),(0,W.jsx)("div",{className:"mr-1",style:{minWidth:42},children:(0,g.qL)(a)})]})}const ne=B.forwardRef(function(e,t){let r=e.loading,n=e.completed,i=e.cruxDataCount,o=e.canEdit,a=e.onButtonClick;return r?(0,W.jsx)("div",{ref:t,className:"color-coldGrey1 scale-small-1",children:"CrUX metric collection in progress"}):n?i>0?(0,W.jsx)("div",{ref:t,className:"color-coldGrey1 scale-small-1",children:"CrUX metric collection complete"}):(0,W.jsx)("div",{ref:t,className:"color-coldGrey1 scale-small-1",children:"This site does not receive enough real user traffic for CrUX data"}):(0,W.jsx)("span",{ref:t,children:(0,W.jsx)(p.N,{disabled:!o,title:o?void 0:"You don't have edit rights for this project.",onClick:a,icon:(0,W.jsx)("img",{src:"/public/icons/crux.png",alt:"",width:20,height:20}),label:"Load CrUX Metrics"})})});r(25440);var ie=r(85807),oe=r(45199),ae=r(85072),le=r.n(ae),se=r(97825),ce=r.n(se),de=r(77659),ue=r.n(de),me=r(55056),pe=r.n(me),ge=r(10540),he=r.n(ge),fe=r(41113),ve=r.n(fe),be=r(73315),xe={};xe.styleTagTransform=ve(),xe.setAttributes=pe(),xe.insert=ue().bind(null,"head"),xe.domAPI=ce(),xe.insertStyleElement=he(),le()(be.A,xe),be.A&&be.A.locals&&be.A.locals;var ye=r(95474),je=r(27827),we=r(36462),Se=r(33337),_e=r(20543),ke=r(19312),Ce=r(44327);function Ae(e){let t=e.interval,r=e.fromDate,n=e.toDate,i=e.marginOfErrorInMs;const o=null!=i?i:5e4,a=oe.XB[t](n);return Math.abs(n.valueOf()-r.valueOf()-a)<o&&r.valueOf()-Date.now()<o}const Ne={overview:{day:(e,t)=>Ae({interval:"24h",fromDate:e,toDate:t,marginOfErrorInMs:N.C_}),week:(e,t)=>Ae({interval:"7d",fromDate:e,toDate:t,marginOfErrorInMs:N.C_}),month:(e,t)=>Ae({interval:"month",fromDate:e,toDate:t,marginOfErrorInMs:2*N.ec}),recent:(e,t)=>Ae({interval:"recent",fromDate:e,toDate:t,marginOfErrorInMs:3*N.ec})},rum:{"3h":(e,t)=>
1Ae({interval:"3h",fromDate:e,toDate:t,marginOfErrorInMs:N.C_}),"24h":(e,t)=>Ae({interval:"24h",fromDate:e,toDate:t,marginOfErrorInMs:N.C_}),"7d":(e,t)=>Ae({interval:"7d",fromDate:e,toDate:t,marginOfErrorInMs:N.C_}),"1mo":(e,t)=>Ae({interval:"month",fromDate:e,toDate:t,marginOfErrorInMs:2*N.ec}),"3mo":(e,t)=>Ae({interval:"3mo",fromDate:e,toDate:t,marginOfErrorInMs:2*N.ec}),"12mo":(e,t)=>Ae({interval:"12mo",fromDate:e,toDate:t,marginOfErrorInMs:3*N.ec})}};function Ie(e,t){const r=t.split("-vs-").map(e=>e.split("-to-")).flat().map(e=>new Date(e)).sort((e,t)=>e.valueOf()-t.valueOf()),n=r.at(0),i=r.at(-1),o=Object.keys(Ne[e]).find(t=>Ne[e][t](n,i));return"string"==typeof o?o:(0,ye.vo)({from:n,to:i})}const Te={rum:e=>(0,oe.OJ)(e)?function(e){switch(e){case"wk-vs-l":return(0,ye.vo)({from:(0,je.A)(new Date,{weekStartsOn:1}),to:(0,we.A)(new Date,{weekStartsOn:1})});case"wk-vs-p":return(0,ye.vo)({from:(0,Se.A)((0,je.A)(new Date,{weekStartsOn:1}),1),to:(0,Se.A)((0,we.A)(new Date,{weekStartsOn:1}),1)});case"mo-vs-l":return(0,ye.vo)({from:(0,_e.A)(new Date),to:(0,ke.A)(new Date)});case"mo-vs-p":return(0,ye.vo)({from:(0,Ce.A)((0,_e.A)(new Date),1),to:(0,Ce.A)((0,ke.A)(new Date),1)});case"24h-comp":case"1mo-comp":case"3mo-comp":return e.replace("-comp","");default:return""}}(e):Ie("rum",e),overview:e=>(0,oe.a5)(e)?function(e){switch(e){case"wk-vs-l":return(0,ye.vo)({from:(0,je.A)(new Date,{weekStartsOn:1}),to:(0,we.A)(new Date,{weekStartsOn:1})});case"wk-vs-p":return(0,ye.vo)({from:(0,Se.A)((0,je.A)(new Date,{weekStartsOn:1}),1),to:(0,Se.A)((0,we.A)(new Date,{weekStartsOn:1}),1)});case"mo-vs-l":return(0,ye.vo)({from:(0,_e.A)(new Date),to:(0,ke.A)(new Date)});case"mo-vs-p":return(0,ye.vo)({from:(0,Ce.A)((0,_e.A)(new Date),1),to:(0,Ce.A)((0,ke.A)(new Date),1)});case"day-comp":case"week-comp":case"month-comp":return e.replace("-comp","");default:return"month"}}(e):Ie("overview",e)};var De=r(25654);function Pe(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Fe(e,t){return`${(0,ye.vo)({from:(0,De.A)(e,t),to:(0,De.A)(e,Math.ceil(t/2))})}-vs-${(0,ye.vo)({from:(0,De.A)(e,Math.floor(t/2)),to:e})}`}function Me(e){const t=(l=e.split("-to-").map(e=>new Date(e)).sort((e,t)=>e.valueOf()-t.valueOf()),s=2,function(e){if(Array.isArray(e))return e}(l)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(l,s)||function(e,t){if(e){if("string"==typeof e)return Pe(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Pe(e,t):void 0}}(l,s)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=t[0],n=t[1],i=new Date(r),o=new Date(n),a=o.valueOf()-i.valueOf();var l,s;return Fe(o,a)}const Oe={rum:function(e){return oe.XB[e]?function(e){const t=new Date;return Fe(t,oe.XB[e](t))}(e):e.includes("-to-")?Me(e):Me("month")},overview:function(e){return(0,oe.PU)(e)?`${e.replace("recent","week")}-comp`:Me(e)}};function Le(e){let t=e.view,r=e.interval,n=e.onSelectInterval;r||(r="rum"===t?"1mo":"daily");const i="rum"===t||"overview"===t,o=(0,oe.FG)(r),a=(0,B.useCallback)(e=>function(e){let t=e.interval,r=e.onSelectInterval,n=e.view;const i=e.event.target.checked;if("rum"===n||"overview"===n)return r(i?Oe[n](t):Te[n](t));(0,oe.OF)(t)?r("overview"===n?"month":""):t.includes("-vs-")?r(t.split("-vs-")[0]):t.includes("-comp")&&r(t.replace("-comp","")),r("overview"===n?"month":"")}({event:e,interval:r,onSelectInterval:n,view:t}),[r,n,t]);return i?(0,W.jsx)("div",{className:"px-2",children:(0,W.jsxs)("label",{className:"compare-toggle-label d-flex align-items-center mb-0 cursor-pointer",children:[(0,W.jsx)(ie.l,{variant:"dark-important",checked:o,onChange:a,"data-testid":"interval-selector-range-toggle"}),(0,W.jsx)("span",{className:"ml-2 scale-small-1",children:"Compare"})]})}):null}var Ee=r(12284),Re=r(46155),Ue=r(30829),Be=r(298),$e=r(33702),Ve=r(77508),He=r(92998),We=r(31127),Ge=r(21524),ze=r(52881),qe=r(979),Xe=r(32831),Ke=r(90244);function Ye(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date,r=(0,$e.A)(t);if("3h"!==e&&(r=(0,Ve.A)(t)),!e||"1mo"===e||"month"===e)return{from:(0,He.A)((0,We.A)((0,Ce.A)(t,1)),1),to:r};if("24h"===e)return{from:(0,Ge.A)((0,ze.A)((0,qe.A)(t,1)),1),to:r};if("3h"===e)return{from:(0,Xe.A)(t,3),to:r};if("7d"===e)return{from:(0,He.A)((0,We.A)((0,qe.A)(t,7)),1),to:r};if("3mo"===e)return{from:(0,We.A)((0,Ce.A)(t,3)),to:r};if("12mo"===e)return{from:(0,We.A)((0,Ce.A)(t,12)),to:r};const n=(0,oe.DV)(e);if(n)return{from:(0,Ke.A)(t,n),to:t};const i=new Date(e.split("-to-")[0]),o=new Date(e.split("-to-")[1]);if(isNaN(i.valueOf())||isNaN(o.valueOf()))throw new RangeError(`Invalid interval "${e}"`);return{from:i,to:o}}const Je=new Set(["day","week","month"]);function Qe(e){let t=e.interval,r=e.isComparison,n=e.view,i=e.baseDate,o=void 0===i?new Date:i,l=e.projectId;if(r)return(0,oe.oD)(null!=t?t:"",n,o);if("overview"===n&&Je.has(t)){const e=(0,N.ku)(o,t),r=(0,ye.Rc)(e);return{selectedRangeFrom:r.from,selectedRangeTo:r.to}}if("recent"===t){const e=function(e){var t;const r=(e?Object.values(null!==(t=a.A.getState().models.projectTrendsRecent[e])&&void 0!==t?t:{}).flat():Object.values(a.A.getState().models.projectTrendsRecent).flatMap(e=>Object.values(e)).flat()).reduce((e,t)=>
1{let r=e.from,n=e.to,i=t.date;if(!i)return{from:r,to:n};const o=new Date(i);return(!r||o<r)&&(r=o),(!n||o>n)&&(n=o),{from:r,to:n}},{from:null,to:null}),n=r.from,i=r.to;if(!n||!i){const e=new Date;return{from:new Date(new Date(e).setDate(e.getDate()-7)),to:e}}return{from:n,to:i}}(l);return{selectedRangeFrom:e.from,selectedRangeTo:e.to,comparisonRangeFrom:null,comparisonRangeTo:null}}if("week"===t||"day"===t||"charts"===n){const e=(0,oe.oD)(null!=t?t:"",n,o);return{selectedRangeFrom:e.selectedRangeFrom,selectedRangeTo:e.selectedRangeTo}}const s=Ye(t,o);return{selectedRangeFrom:s.from,selectedRangeTo:s.to}}function Ze(e,t){try{const r=Qe({interval:e,view:t,isComparison:!!e&&(0,oe.FG)(e)}),n=r.selectedRangeFrom,i=r.selectedRangeTo;return[n,i,r.comparisonRangeFrom,r.comparisonRangeTo].every(e=>null==e||!isNaN(e.valueOf()))}catch{return!1}}function et(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return tt(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?tt(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function rt(e){let t=e.comparisonMode,r=e.interval,n=e.onClose,i=e.onSelectInterval,o=e.view,a=e.baseDate;return t?(0,W.jsx)(it,{interval:r,onSelectInterval:e=>{i(e),n()},baseDate:a}):(0,W.jsx)(nt,{interval:r,onSelectInterval:e=>{i(e),n()},view:o,baseDate:a})}function nt(e){let t=e.interval,r=e.onSelectInterval,n=e.view,i=e.baseDate;const o=Qe({interval:Ze(t,n)?t:void 0,isComparison:!1,view:n,baseDate:i}),a=o.selectedRangeFrom,l=o.selectedRangeTo;return(0,W.jsx)("div",{children:(0,W.jsx)("div",{className:"py-3",children:(0,W.jsx)(Be.s,{type:"single",enableTime:!0,from:a,to:l,onSelectDateRange:e=>{r(e)}})})})}function it(e){let t=e.interval,r=e.onSelectInterval,n=e.baseDate;const i=(0,$.g)().projectId,o=Qe({interval:Ze(t)?t:"1mo-comp",baseDate:n,isComparison:!0,projectId:Number(i)}),a=o.comparisonRangeTo,l=o.comparisonRangeFrom,s=o.selectedRangeFrom,c=o.selectedRangeTo;return(0,W.jsxs)("div",{children:[(0,W.jsx)("hr",{className:"my-0"}),(0,W.jsx)("div",{className:"py-3",children:(0,W.jsx)(Be.s,{type:"double",enableTime:!0,fromFirst:s,toFirst:c,fromSecond:l,toSecond:a,onSelectDateRange:(e,t)=>{let n=et(e,2),i=n[0],o=n[1],a=et(t,2),l=a[0],s=a[1];const c=(0,ye.vo)({from:l,to:s})+"-vs-"+(0,ye.vo)({from:i,to:o});r(c)}})})]})}function ot(e){const t=(0,oe.oD)(e),r=t.comparisonRangeFrom,n=t.comparisonRangeTo,i=t.selectedRangeFrom,o=t.selectedRangeTo;return`${(0,N.Yq)(i)} - ${(0,N.Yq)(o)} vs ${(0,N.Yq)(r)} - ${(0,N.Yq)(n)}`}var at=r(31436);function lt(e){let t=e.from,r=e.to;const n=r.valueOf()-t.valueOf()<864e5,i=(0,N.rX)(t,r);return(0,W.jsxs)("div",{children:[(0,W.jsxs)("span",{children:[(0,N.Yq)(t,i),n?` ${(0,at.A)(t,"HH:mm")}`:""]}),(0,W.jsx)("span",{className:"px-1",children:"➔"}),(0,W.jsxs)("span",{children:[(0,N.Yq)(r,i),n?` ${(0,at.A)(r,"HH:mm")}`:""]})]})}function st(e){let t=e.interval;if(!Ze(t))return(0,W.jsx)("div",{children:"Invalid interval"});const r=(0,oe.oD)(t),n=r.selectedRangeFrom,i=r.selectedRangeTo,o=r.comparisonRangeFrom,a=r.comparisonRangeTo;return o&&a?(0,W.jsxs)("div",{children:[(0,W.jsx)(lt,{from:o,to:a}),(0,W.jsxs)("div",{style:{fontSize:"10px",fontWeight:500,lineHeight:1,display:"flex"},children:[(0,W.jsx)("span",{className:"px-1",children:"vs."}),(0,W.jsx)(lt,{from:n,to:i})]})]}):(0,W.jsx)("div",{children:(0,W.jsx)(lt,{from:n,to:i})})}const ct=["title","onClick"];function dt(e){let t=e.view,r=e.interval,n=e.onSelectInterval;const i=(0,oe.FG)(r),o=(0,B.useMemo)(()=>
1{if(!((0,oe.PS)(r)||"rum"!==t&&"dashboards"!==t))return new Date},[r,t]);return(0,W.jsx)(Re.W,{items:mt(t,r,i),Trigger:ut,selectedValue:r,onSelect:e=>n(e.value),testName:"interval-selector",innerStyle:{maxWidth:430},extraContent:e=>{let a=e.onClose;return(0,W.jsx)(rt,{comparisonMode:i,interval:r,onSelectInterval:n,view:t,onClose:a,baseDate:o})}})}function ut(e){let t=e.title,r=e.onClick,n=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,ct);return(0,W.jsxs)(Ue.I,{type:"button",onClick:r,...n,children:[t,(0,W.jsx)(Ee.Y,{})]})}function mt(e,t,r){if("overview"===e){const e=function(e){const t=[{title:"Daily",value:"day-comp",subTitle:ot("day-comp")},{title:"Weekly",value:"week-comp",subTitle:ot("week-comp")},{title:"Monthly",value:"month-comp",subTitle:ot("month-comp")},{title:"This week vs last",selectedTitle:"This week",subTitle:ot("wk-vs-l"),value:"wk-vs-l"},{title:"Last week vs previous",selectedTitle:"Last week",subTitle:ot("wk-vs-p"),value:"wk-vs-p"},{title:"This month vs last",selectedTitle:"This month",subTitle:ot("mo-vs-l"),value:"mo-vs-l"},{title:"Last month vs previous",selectedTitle:"Last month",subTitle:ot("mo-vs-p"),value:"mo-vs-p"},...(0,oe.a5)(e)?[]:[{title:(0,W.jsx)(st,{interval:e}),shortTitle:"Custom",value:e}]],r=[{title:"Daily",value:"day",test:"day",subTitle:""},{title:"Weekly",value:"week",test:"week",subTitle:""},{title:"Monthly",value:"month",test:"month",subTitle:""},{title:"Last 10",value:"recent",test:"recent",subTitle:""}];if(!r.some(t=>t.value===e)&&"recent"!==e){const t=(0,oe.oD)(e),n=t.selectedRangeFrom,i=t.selectedRangeTo;r.push({title:(0,W.jsx)(st,{interval:e}),shortTitle:"Custom",value:(0,ye.vo)({from:n,to:i}),test:"custom",subTitle:""})}return{notComparison:r,comparison:t}}(t),n=e.comparison,i=e.notComparison;return r?n:i}if("rum"===e||"dashboards"===e){const e=function(e){const t=[{title:"Last 3 Hours",value:"3h",subTitle:""},{title:"Last 24 Hours",value:"24h",subTitle:""},{title:"Last Week",value:"7d",subTitle:""},{title:"Last Month",value:"1mo",subTitle:""},{title:"Last 3 Months",value:"3mo",subTitle:""},{title:"Last Year",value:"12mo",subTitle:""},...!e||(0,oe.Wd)(e)||(0,oe.a5)(e)?[]:[{title:(0,W.jsx)(st,{interval:e}),shortTitle:"Custom",value:e,subTitle:""}]];return{comparison:[{title:"24 Hours vs Previous",value:"24h-comp",subTitle:ot("24h-comp")},{title:"1 Month vs Previous",value:"1mo-comp",subTitle:ot("1mo-comp")},{title:"3 Months vs Previous",value:"3mo-comp",subTitle:ot("3mo-comp")},{title:"This Week vs Last",selectedTitle:"This week",subTitle:ot("wk-vs-l"),value:"wk-vs-l"},{title:"Last Week vs Previous",selectedTitle:"Last week",subTitle:ot("wk-vs-p"),value:"wk-vs-p"},{title:"This Month vs Last",selectedTitle:"This Month",subTitle:ot("mo-vs-l"),value:"mo-vs-l"},{title:"Last Month vs Previous",selectedTitle:"Last month",subTitle:ot("mo-vs-p"),value:"mo-vs-p"},...!e||(0,oe.Wd)(e)||(0,oe.a5)(e)?[]:[{title:(0,W.jsx)(st,{interval:e}),shortTitle:"Custom",value:e,subTitle:""}]],notComparison:t}}(t),n=e.comparison,i=e.notComparison;return r?n:i}return[]}var pt=r(53841),gt=r(40433),ht=r(8009),ft=r(56079),vt=r(29091),bt=r(16098),xt=r(67707),yt=r(74334);class jt extends B.Component{constructor(e){super(e),this.state={isSubmitting:!1}}render(){const e=this.getProjectData();return(0,W.jsxs)(W.Fragment,{children:[e&&(0,W.jsx)("div",{children:(0,W.jsx)(U.l1,{initialValues:(0,T.pick)(this.getProjectData(),["name"]),onSubmit:e=>{this.setState({isSubmitting:!0}),u.FH.updateProject(this.props.projectId,e).then(()=>{this.setState({isSubmitting:!1}),this.props.onSubmit&&this.props.onSubmit(),this.props.navigate(`/project/${this.props.projectId}`)}).catch(()=>{this.setState({isSubmitting:!1})})},children:e=>{let t=e.handleSubmit,r=e.errors,n=e.touched;return(0,W.jsx)("form",{onSubmit:t,"data-testid":"edit-project-form",children:(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{children:[(0,W.jsx)(yt.u,{labelMarginTop:0,label:"Project Name",name:"name",validate:(0,xt.hF)("Name")}
1),(0,W.jsx)(bt.H,{error:n.name?r.name:null})]}),this.props.project.canEdit?(0,W.jsx)(v.J,{isSubmitting:this.state.isSubmitting,title:"Update"}):(0,W.jsx)("div",{className:"mt-3",children:"You have read only access to this project."})]})})}})}),(!e||!this.props.project)&&(0,W.jsx)(w.y,{})]})}getProjectData(){return this.props.projectId?this.props.project:{name:""}}}function wt(e){let t=e.projectId,r=e.navigate,n=e.onSubmit;const i=(0,vt.By)(t,["pageLoads","metricGroups","rumSnippet"]);return(0,B.useEffect)(()=>{(0,s.iR)()},[]),i?(0,W.jsx)(W.Fragment,{children:(0,W.jsx)(j.U5,{title:"Edit Project",moreInfoContent:"Set the project name and how often each test runs.",boxHeading:!0,moreInfoHref:"/docs/project-settings",children:(0,W.jsx)(jt,{projectId:t,project:i,navigate:r,onSubmit:n})})}):(0,W.jsx)(w.y,{})}var St=r(94430);function _t(){return(0,W.jsx)("span",{style:{color:"green",width:"1em",height:"1em",lineHeight:"1em"},"data-test-saved-indicator":!0,children:"✔"})}var kt=r(17672);function Ct(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return At(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?At(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function At(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Nt(){const e=(0,B.useRef)(0),t=(0,B.useRef)(-1),r=Ct((0,B.useState)(!1),2),n=r[0],i=r[1],o=Ct((0,B.useState)(!1),2),a=o[0],l=o[1],s=(0,B.useCallback)(r=>{e.current+=1;const n=e.current;i(!0),r.then(()=>{n===e.current&&(i(!1),l(!0),clearTimeout(t.current),t.current=window.setTimeout(()=>{l(!1)},1500))})},[i]);return(0,B.useMemo)(()=>({setSavingPromise:s,savingIndicator:n?It:a?Tt:null}),[n,s,a])}const It=(0,W.jsx)("div",{style:{display:"inline-block",verticalAlign:"middle",width:"1em",height:"1em"},children:(0,W.jsx)(kt.v,{})}),Tt=(0,W.jsx)(_t,{});var Dt=r(92268);const Pt={slack:[{value:"alerts",label:"Lab Alerts"},{value:"rumAlerts",label:"RUM Alerts"},{value:"uptimeAlerts",label:"Uptime Alerts"},{value:"jsPageWeightChanges",label:"JS File Size Changes"},{value:"apiBuilds",label:"API Builds"},{value:"report",label:"Weekly Report"}],msTeams:[{value:"alerts",label:"Lab Alerts"},{value:"rumAlerts",label:"RUM Alerts"},{value:"uptimeAlerts",label:"Uptime Alerts"},{value:"jsPageWeightChanges",label:"JS File Size Changes"},{value:"report",label:"Weekly Report"}]},Ft=Pt;function Mt(e){let t=e.name,r=e.integrationType,n=e.config,i=e.onChange,o=e.onUpdated,a=e.hideSavingIndicator,l=e.small,s=e.selectWrapperStyle,c=void 0===s?{width:250}:s;const d=Nt(),u=d.setSavingPromise,m=d.savingIndicator,p=Ft[r];return(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)("div",{style:c,children:(0,W.jsx)(Dt.l,{name:t,small:l,options:p,value:p.find(e=>e.value===n.notificationType),onChange:async e=>{const t={notificationConfig:{notificationType:e.value}},r=i?i(t):Promise.resolve();u(r),await r,null==o||o(t)}})}),a?null:(0,W.jsx)("div",{className:"ml-2",children:m})]})}var Ot=r(61286),Lt=r(15018),Et=r(52072);const Rt={alerts:"Lab Alerts",jsPageWeightChanges:"JS File Size Changes",rumAlerts:"RUM Alerts",uptimeAlerts:"Uptime Alerts",apiBuilds:"API Builds",report:"Weekly Report"};function Ut(e){var t;let r=e.notificationConfig,n=e.onUpdated;const i=function(e){return e.channel||(e.slackIntegrationId?{kind:"slack",name:`Slack #${e.slackIntegrationId}`}:e.msTeamsIntegrationId?{kind:"teams",name:`Teams #${e.msTeamsIntegrationId}`}:e.emailIntegrationId?{kind:"email",name:"Email"}:null)}(r);if(!i)return null;const o="slack"===i.kind?(0,W.jsx)(Lt.k,{size:20}):"teams"===i.kind?(0,W.jsx)(Et._,{size:20}):(0,W.jsx)(Ot.a,{strokeWidth:1.5,size:20}),a=(0,W.jsx)("span",{className:"d-flex align-items-center",children:o}),l="slack"===i.kind?"Slack Integration":"teams"===i.kind?"MS Teams Integration":"Email",s="slack"===i.kind||"teams"===i.kind?i.name:null,c="slack"===i.kind?"slack":"teams"===i.kind?"msTeams":null;return(0,W.jsxs)(j.U5,{title:l,contentBeforeTitle:a,boxHeading:!0,children:[s&&(0,W.jsx)("div",{className:"color-coldGrey1 scale-small-1 mb-2",children:s}),c?(0,W.jsx)(Mt,{integrationType:c,config:r,onChange:e=>u.FH.updateNotificationConfig(r.id,e.notificationConfig),onUpdated:e=>n({...r,notificationType:e.notificationConfig.notificationType})}):(0,W.jsx)("span",{className:"text-muted",children:null!==(t=Rt[r.notificationType])&&void 0!==t?t:r.notificationType})]})}var Bt=r(23568),$t=r(21291),Vt={};function Ht(e){let t=e.search,r=void 0===t?"":t,n=e.pages;if(!n)return null;const i=(0,C.nF)(n,{search:[r],formFactor:"all"}),o=(0,W.jsxs)("div",{className:"page-filter-preview__tooltip",children:[(0,W.jsx)("ol",{children:i.slice(0,8).map(e=>(0,W.jsxs)("li",{children:[e.name," (",e.device.name,","," ",(0,Bt.fZ)(e.region),")"]},e.id))}),i.length>8&&(0,W.jsxs)("div",{className:"page-filter-preview__tooltip-more",children:["and ",i.length-8," more"]})]});return(0,W.jsx)("div",{className:"page-filter-preview",children:(0,W.jsx)(S.m,{placement:"bottom",overlay:o,children:(0,W.jsxs)("span",{className:"page-filter-preview__page-count",children:[i.length," Matching Page",1===i.length?"":"s"]})})})}function Wt(e){let t=e.isSubmitting,r=e.didSave,n=e.projectId;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(v.J,{isSubmitting:t,success:r,title:"Save Notification Settings",marginTop:10,children:(0,W.jsx)($.N_,{to:A.DS.projectUrl(n,"integrations"),style:{marginLeft:"auto",marginRight:16},children:"Back to Integrations"})}),r&&(0,W.jsx)("span",{"data-test-saved-indicator":!0,style:{display:"none"}})]})}Vt.styleTagTransform=ve(),Vt.setAttributes=pe(),Vt.insert=ue().bind(null,"head"),Vt.domAPI=ce(),Vt.insertStyleElement=he(),le()($t.A,Vt),$t.A&&$t.A.locals&&$t.A.locals;const Gt=[{title:"Performance",key:"performance"},{title:"Best Practices",key:"bestPractices"},{title:"Accessibility",key:"accessibility"},{title:"SEO",key:"seo"}],zt=[{title:"Console Errors",key:"consoleErrors"},{title:"Console Warnings",key:"consoleWarnings"}];function qt(e){var t,r,n,i,o;let a=e.notificationConfig,l=e.didSave,s=e.onSubmit,c=e.pageLoads,d=e.projectId;const u="alerts"===a.notificationType,m="jsPageWeightChanges"===a.notificationType,p="alerts"===a.notificationType||"jsPageWeightChanges"===a.notificationType,g="alerts"===a.notificationType||"jsPageWeightChanges"===a.notificationType,h="apiBuilds"===a.notificationType;return(0,W.jsx)("div",{className:"notification-config",children:(0,W.jsx)(j.U5,{title:"Notification Settings",moreInfoContent:"Configure when alert messages are sent out.\n\nFor email integrations, keep in mind that changes here apply to all users.",boxHeading:!0,children:(0,W.jsx)(U.l1,{initialValues:{...a,settings:{...a.settings,...u?{budgets:{...null===(t=a.settings)||void 0===t?void 0:t.budgets,notifyOnRecovery:null===(r=null===(n=a.settings)||void 0===n||null===(n=n.budgets)||void 0===n?void 0:n.notifyOnRecovery)||void 0===r||r}}:{}},mutedWordsText:null!==(i=null===(o=a.settings)||void 0===o||null===(o=o.mutedWords)||void 0===o?void 0:o.map(e=>e.text).join("\n"))&&void 0!==i?i:""},onSubmit:e=>s({...e.settings,mutedWords:e.mutedWordsText.split(/\n/g).map(e=>({type:"custom",text:e.trim()}))}),children:e=>{let t=e.values,r=e.handleSubmit,n=e.isSubmitting,i=e.setFieldValue;return(0,W.jsxs)("form",{onSubmit:r,className:"wide-form",children:[h&&(0,W.jsxs)("div",{className:"notification-config__section",children:[(0,W.jsx)("h3",{className:"h3-simple-bold mt-0",style:{display:"inline-block"},children:"Filter Builds"})," ",(0,W.jsxs)("label",{style:{marginTop:4,marginBottom:4,color:"#333"},children:[(0,W.jsx)(U.D0,{style:{verticalAlign:"middle"},type:"checkbox",name:"settings.failedBuildsOnly"})," ",(0,W.jsx)("span",{className:"ml-1",style:{verticalAlign:"middle"},children:"Failed builds only"})]})]}),g&&(0,W.jsxs)("div",{className:"notification-config__section",children:[(0,W.jsxs)("div",{className:"d-flex align-items-center justify-content-between mb-2",children:[(0,W.jsx)("h3",{className:"h3-simple-bold mt-0 mb-0 d-inline-block",children:"Filter Pages"}),(0,W.jsx)(Ht,{pages:c,search:t.settings.pageFilter})]}),(0,W.jsx)(U.D0,{name:"settings.pageFilter",placeholder:"All pages"})]}),m&&(0,W.jsxs)("div",{className:"notification-config__section",children:[(0,W.jsx)("h3",{className:"h3-simple-bold",children:"Alert Threshold"}),(0,W.jsx)(Kt,{setFieldValue:i,settings:t.settings})]}),u&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("div",{className:"notification-config__section",children:[(0,W.jsx)("h3",{className:"h3-simple-bold d-inline-block",children:"Custom Performance Budgets"})," ",(0,W.jsx)(x.c,{href:"/docs/performance-budgets",content:"Define custom alert
1ing thresholds."})," ",(0,W.jsx)("a",{href:A.DS.projectUrl(d,"budgets"),target:"_blank",rel:"noreferrer",className:"scale-small-1",children:"Configure"}),(0,W.jsxs)("div",{className:"notification-config__checkboxes",children:[(0,W.jsxs)("label",{className:"checkbox-label",children:[(0,W.jsx)(U.D0,{name:"settings.budgets.enabled",type:"checkbox",className:"checkbox"})," ","Alert on breach"," ",(0,W.jsx)(x.c,{content:"Define custom performance budgets in the advanced settings for pages and get notified when they are breached.",href:"/docs/performance-budgets"})]}),(0,W.jsxs)("label",{className:"checkbox-label",children:[(0,W.jsx)(U.D0,{name:"settings.budgets.realert",type:"checkbox",className:"checkbox"})," ","Re-alert on consistent breaches"," ",(0,W.jsx)(x.c,{content:"If this is enabled, alerts will be triggered for every test result that breaches a budget, even if the budget was already breached before."})]}),(0,W.jsxs)("label",{className:"checkbox-label",children:[(0,W.jsx)(U.D0,{name:"settings.budgets.notifyOnRecovery",type:"checkbox",className:"checkbox"})," ","Notify when a budget passes again"," ",(0,W.jsx)(x.c,{content:"Send a notification when a budget with a fixed min/max value recovers from a breach."})]})]})]}),(0,W.jsxs)("div",{className:"notification-config__section",children:[(0,W.jsx)("h3",{className:"h3-simple-bold d-inline-block",children:"Automatic Alerts"})," ",(0,W.jsx)(x.c,{href:"/docs/page-alerts",content:"Select what types of changes will automatically trigger a notification."}),(0,W.jsx)("div",{className:"notification-config__checkboxes",children:Gt.map(e=>(0,W.jsxs)("label",{className:"checkbox-label","data-test-alert-category":e.key,children:[(0,W.jsx)(U.D0,{type:"checkbox",name:"settings.alertCategories."+e.key,className:"checkbox"})," ",e.title]},e.key))}),(0,W.jsx)("div",{className:"notification-config__checkboxes",children:zt.map(e=>(0,W.jsxs)("label",{className:"checkbox-label","data-test-alert-category":e.key,children:[(0,W.jsx)(U.D0,{type:"checkbox",name:"settings.alertCategories."+e.key,className:"checkbox"})," ",e.title]},e.key))}),(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsxs)("label",{className:"checkbox-label","data-test-alert-category":"pageWeight",style:{width:190},children:[(0,W.jsx)(U.D0,{type:"checkbox",name:"settings.alertCategories.pageWeight",className:"checkbox"})," ","Page Weight"]}),(0,W.jsxs)("div",{className:"d-flex align-items-center color-coldGrey1 scale-small-1",style:{columnGap:16},children:[(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)("span",{children:"Media"}),(0,W.jsx)(Xt,{settings:t.settings,type:"media",setFieldValue:i})]}),(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)("span",{children:"Other"}),(0,W.jsx)(Xt,{settings:t.settings,type:"other",setFieldValue:i})]})]})]})]})]}),p&&(0,W.jsxs)("div",{className:"notification-config__section",children:[(0,W.jsx)("h3",{className:"h3-simple-bold d-inline-block",children:"Muted Notifications"})," ",(0,W.jsx)(x.c,{href:"/docs/muting-notifications",content:"Use this to opt out of certain notifications. For example, this\n                can be useful if certain parts of your site are projected to\n                change regularly and you don't want notifications for those\n                changes."}),(0,W.jsxs)("label",{className:"checkbox-label",children:[(0,W.jsx)(U.D0,{type:"checkbox",name:"settings.muteCommonThirdParties",className:"checkbox",style:{verticalAlign:"middle"}})," ",(0,W.jsx)("span",{style:{verticalAlign:"middle"},children:"Mute changes from common third-parties (ads, analytics)"})]}),(0,W.jsx)("label",{className:"mt-2",children:"Mute alert messages containing these phrases:"}),(0,W.jsx)(U.D0,{name:"mutedWordsText",component:"textarea",style:{width:"100%",height:90},"data-test-muted-words-field":!0,placeholder:"Links do not have descriptive text\nnews.json\nHomepage"})]}),(0,W.jsx)(Wt,{isSubmitting:n,didSave:l,projectId:d})]})}})})})}function Xt(e){var t;let r=e.settings,n=e.type,i=e.setFieldValue;const o={media:["image","media"],other:["document","script","stylesheet","font","other"]}[n],a="media"===n?614400:20480;let l=a;return null!==(t=r.alertThresholds)&&void 0!==t&&null!==(t=t.pageWeight)&&void 0!==t&&t[o[0]]&&(l=r.alertThresholds.pageWeight[o[0]]),l/=1024,l=Math.round(l),(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("input",{type:"text",className:"small",defaultValue:l.toString(),style:{width:44,padding:"2px 8px",textAlign:"right",marginLeft:5},"data-test-alert-threshold":n,onChange:e=>{const t=e.target.value;if(t&&parseFloat(t)){const e=1024*parseFloat(t),n=r.alertThresholds||{},l=n.pageWeight||{};for(const t of o)e===a?delete l[t]:l[t]=e;i("settings.alertThresholds",{...n,pageWeight:l})}}}),(0,W.jsx)("span",{className:"ml-1",children:"KB"})]})}function Kt(e){let t=e.setFieldValue;const r=e.settings.jsPageWeightAlertThreshold||450;return(0,W.jsxs)(W.Fragment,{children:["Alert on JavaScript changes greater than",(0,W.jsx)("input",{type:"text",defaultValue:r.toString(),style:{width:70,padding:"2px 8px",textAlign:"right",marginLeft:5},onChange:e=>{const r=e.target.value;if(r&&parseFloat(r)){const e=parseFloat(r);t("settings.jsPageWeightAlertThreshold",450===e?void 0:e)}}})," ","bytes"]})}var Yt=r(79181);function Jt(e){let t=e.name,r=void 0===t?"notificationInterval":t,n=e.disabled;return(0,W.jsx)(Yt.m,{isDisabled:n,name:r,small:!0,options:[{value:1,label:"Hour"},{value:4,label:"4 hours"},{value:24,label:"Day"},{value:168,label:"Week"}]})}var Qt=r(66856),Zt={};function er(e){let t=e.notificationConfig,r=e.project,n=e.onSubmit,i=e.didSave;return(0,W.jsx)("div",{className:"notification-config",children:(0,W.jsxs)(j.U5,{title:"Notification Settings",moreInfoContent:"Configure when alert messages are sent out.\n\nFor email integrations, keep in mind that changes here apply to all users.",boxHeading:!0,children:[(0,W.jsxs)(f.w,{children:["Next alert at: ",(0,N.r6)(t.nextAlertAt)]}),(0,W.jsx)(U.l1,{initialValues:{notificationInterval:168,budgetAlertsEnabled:!0,automaticAlertsEnabled:!0,notifyOnBudgetRecoveryEnabled:!0,alertGroups:[{name:"RUM metrics by path",devices:{mobile:!0,desktop:!0},groupBy:"urlPath",notifyOn:[{rumMetric:"ttfb",conditions:[{type:"maxPercentageChange",threshold:15},{type:"maxAbsoluteChange",threshold:200}]},{rumMetric:"fcp",conditions:[{type:"maxPercentageChange",threshold:15},{type:"maxAbsoluteChange",threshold:200}]},{rumMetric:"lcp",conditions:[{type:"maxPercentageChange",threshold:12},{type:"maxAbsoluteChange",threshold:150}]},{rumMetric:"inp",conditions:[{type:"maxPercentageChange",threshold:12},{type:"maxAbsoluteChange",threshold:50}]},{rumMetric:"cls",conditions:[{type:"maxPercentageChange",threshold:12},{type:"maxAbsoluteChange",threshold:.05}]}]}],...t.settings},onSubmit:e=>n(e),children:e=>{let t=e.values,n=e.handleSubmit,o=e.isSubmitting;return(0,W.jsxs)("form",{onSubmit:n,className:"wide-form",children:[(0,W.jsxs)("div",{className:"notification-config__section",children:[(0,W.jsxs)("div",{className:"d-flex align-items-center gap-2",children:[(0,W.jsxs)("label",{className:"checkbox-label",children:[(0,W.jsx)(U.D0,{name:"budgetAlertsEnabled",type:"checkbox",className:"checkbox"})," ","Alert on budget breaches"]}),(0,W.jsx)($.N_,{to:A.DS.projectRumUrl(r.id,"config",{},{infoSelection:"budgets"}),className:"scale-small-1 ml-2",children:"Configure Budgets"})]}),(0,W.jsxs)("div",{className:"d-flex align-items-center gap-2 mt-1",children:[(0,W.jsxs)("label",{className:"checkbox-label",children:[(0,W.jsx)(U.D0,{name:"notifyOnBudgetRecoveryEnabled",type:"checkbox",className:"checkbox"})," ","Notify when a budget passes again"]}),(0,W.jsx)(x.c,{content:"Send a notification when an absolute budget (goes above/below a fixed value) recovers from a breach."})]})]}),(0,W.jsxs)("div",{className:"notification-config__section",children:[(0,W.jsx)("h3",{className:"h3-simple-bold d-inline-block",children:"Automatic Alerts"})," ",(0,W.jsx)(x.c,{href:"/docs/rum/alerts",content:"Automatically alert on significant metric changes for your highest-traffic pages."}),(0,W.jsx)("div",{className:"notification-config__checkboxes",children:(0,W.jsxs)("label",{className:"checkbox-label",children:[(0,W.jsx)(U.D0,{name:"automaticAlertsEnabled",type:"checkbox",className:"checkbox"})," ","Enable automatic alerts"]})}),(0,W.jsxs)("div",{className:"mt-2",children:[(0,W.jsxs)("div",{className:"d-flex align-items-center mb-1",children:[(0,W.jsx)("span",{className:"mr-1",children:"Notification Interval"}
1),(0,W.jsx)(x.c,{content:"Choose how often you want to receive notifications.\n\nFor example, if you select 4-hourly notifications then every 4 hours DebugBear will compare the last 4 hours to the previous 4 hours of data."})]}),(0,W.jsx)(Jt,{disabled:!t.automaticAlertsEnabled})]})]}),(0,W.jsx)(Wt,{isSubmitting:o,didSave:i,projectId:r.id})]})}})]})})}function tr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function rr(e){let t=e.notificationConfig,r=e.onNotificationConfigUpdated,n=e.project;const i=(l=(0,B.useState)(!1),s=2,function(e){if(Array.isArray(e))return e}(l)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(l,s)||function(e,t){if(e){if("string"==typeof e)return tr(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?tr(e,t):void 0}}(l,s)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=i[0],a=i[1];var l,s;function c(e){return a(!1),u.FH.updateNotificationConfig(t.id,{settings:e}).then(e=>{r(e),a(!0)})}return(0,B.useEffect)(()=>{if(o){const e=setTimeout(()=>{a(!1)},3e3);return()=>clearTimeout(e)}},[o]),(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Ut,{notificationConfig:t,project:n,onUpdated:r}),"uptimeAlerts"===t.notificationType?(0,W.jsxs)("div",{className:"color-coldGrey1",children:["This channel receives alerts whenever an uptime monitor changes status (down or recovered). There's nothing to configure here — choose which monitors alert, and after how many consecutive failures, in each monitor's ",(0,W.jsx)("strong",{children:"Alerting"})," section."]}):"rumAlerts"===t.notificationType?(0,W.jsx)(er,{notificationConfig:t,onSubmit:e=>c(e),didSave:o,project:n}):(0,W.jsx)(qt,{notificationConfig:t,onSubmit:c,didSave:o,pageLoads:n.pageLoads,projectId:n.id})]})}Zt.styleTagTransform=ve(),Zt.setAttributes=pe(),Zt.insert=ue().bind(null,"head"),Zt.domAPI=ce(),Zt.insertStyleElement=he(),le()(Qt.A,Zt),Qt.A&&Qt.A.locals&&Qt.A.locals;var nr=r(66814),ir={};function or(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ar(e){let t=e.notificationConfigId,r=e.project;const n=(a=(0,B.useState)(null),l=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(a,l)||function(e,t){if(e){if("string"==typeof e)return or(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?or(e,t):void 0}}(a,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=n[0],o=n[1];var a,l;(0,B.useEffect)(()=>{window.scrollTo(0,0);let e=!0;return u.FH.getNotificationConfig(t).then(t=>{e&&o(t)}),()=>{e=!1}},[t]);const s=(0,B.useCallback)(e=>{o(e)},[t]);return(0,W.jsxs)("div",{children:[(0,W.jsx)(pt.I,{stepId:"reviewAlertSettings"}),!i&&(0,W.jsx)(w.y,{}),i&&(0,W.jsx)(rr,{notificationConfig:i,onNotificationConfigUpdated:s,project:r})]})}function lr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function sr(e){let t=e.project;const r=(o=B.useState(!1),a=2,function(e){if(Array.isArray(e))return e}(o)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(o,a)||function(e,t){if(e){if("string"==typeof e)return lr(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lr(e,t):void 0}}(o,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),n=r[0],i=r[1];var o,a;return(0,W.jsxs)("div",{className:"mt-5",children:[(0,W.jsx)("div",{className:"d-flex justify-content-center",children:(0,W.jsx)("h1",{children:"The account this project belongs to is inactive"})}),(0,W.jsx)("div",{className:"d-flex justify-content-center",children:(0,W.jsx)("div",{children:(0,W.jsxs)("p",{children:["It's currently scheduled to be deleted on"," ",(0,N.Yq)(new Date(t.billingCustomer.deletionScheduledFor)),"."]})})}),(0,W.jsx)("div",{className:"d-flex justify-content-center",children:(0,W.jsx)("div",{children:(0,W.jsx)("p",{children:"Still interested in using DebugBear and buying a subscription?"})})}),(0,W.jsx)("div",{className:"d-flex justify-content-center",children:(0,W.jsx)("div",{children:t.canManageUsers?n?(0,W.jsx)(kt.v,{}):(0,W.jsx)("button",{className:"btn btn-primary",onClick:()=>{u.FH.resetScheduledDeletion(t.billingCustomerId).then(()=>{location.reload()}),i(!0)},children:"Keep using DebugBear"}):(0,W.jsx)("div",{children:"Contact an admin if you want to keep using DebugBear."})})})]})}ir.styleTagTransform=ve(),ir.setAttributes=pe(),ir.insert=ue().bind(null,"head"),ir.domAPI=ce(),ir.insertStyleElement=he(),le()(nr.A,ir),nr.A&&nr.A.locals&&nr.A.locals;var cr=r(71521),dr=r(62205),ur=r(14728),mr=r(96436),pr=r(79938),gr=r(61110),hr=r(44954),fr=r(74142),vr=r(79251);const br=e=>({type:"ADD_FILTER",filter:e}),xr=e=>({type:"REMOVE_FILTER",filterName:e}),yr=function(){return{type:"RESET_FILTERS",valuesToPreserve:arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]}};function jr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return wr(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?wr(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Sr(e,t,r){var n,i;const o=Object.fromEntries(hr.DM.map(e=>[e,t[e]])),a=null!==(n=null===(i=r.find(e=>e.id===Number(t.filterId)))||void 0===i?void 0:i.filters)&&void 0!==n?n:{},l=(0,T.flow)([kr,Cr(a)]);switch(e.type){case"ADD_FILTER":{var s,c;let r=t.removed;var d,u;return Array.isArray(r)&&null!==(s=r)&&void 0!==s&&null!==(c=s.includes)&&void 0!==c&&c.call(s,e.filter.filterName)&&(r=null===(d=r)||void 0===d||null===(u=d.filter)||void 0===u?void 0:u.call(d,e=>"string"==typeof e).filter(t=>t!==e.filter.filterName)),l({...t,...o,removed:r,...Nr(e.filter,a),id:void 0})}case"REMOVE_FILTER":{const r=t.removed,n=Array.from(new Set([...Array.isArray(r)?r:[r],e.filterName])).filter(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t=>t in e}(a));return l({...t,...o,[e.filterName]:void 0,[`${e.filterName}_type`]:void 0,removed:n})}case"SET_FILTERS":{const n=Object.entries({...o,...Cr({})(a)}).filter(t=>{let r=jr(t,2),n=r[0];return r[1]&&"filterId"!==n&&!n.endsWith("_type")&&!e.filters.some(e=>e.filterName===n)}).reduce((e,t)=>
1{let n=jr(t,1)[0];return Sr(xr(n),e,r)},t);return e.filters.reduce((e,t)=>Sr(br(t),e,r),n)}case"APPLY_SAVED_FILTERS":{const n=r.find(t=>t.id===Number(e.filterId));return l({...Sr(yr(),t,r),filterId:n?e.filterId:void 0,removed:void 0})}case"RESET_FILTERS":return l({...t,...hr.Y8,...Object.fromEntries(e.valuesToPreserve.map(e=>[e,_r(e,t,a)]))});default:return o}}function _r(e,t,r){var n;const i=null!==(n=t[e])&&void 0!==n?n:null==r?void 0:r[e];return i===hr.bS[e]?void 0:i}function kr(e){return Object.fromEntries(Object.entries(e).filter(e=>{let t=jr(e,2),r=t[0],n=t[1];return!(r in hr.Y8)||void 0!==n&&(!Array.isArray(n)||n.length>0)}))}const Cr=(0,T.curry)(function(e,t){return Object.fromEntries(Object.entries(t).filter(t=>{let r=jr(t,2),n=r[0],i=r[1];return!(n in hr.Y8)||n in e||(!n.endsWith("_type")||"is"!==i)&&("device"!==n||i!==hr._G)}))});function Ar(e){const t=null!=e?e:"is";if(hr.W0[t])return t;throw new Error(`Invalid filter type: ${e}`)}function Nr(e,t){let r=e.filterName,n=e.filterType,i=e.filterValue;const o=function(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){const r=e.slice(0).sort(),n=t.slice(0).sort();return e.length===t.length&&r.every((e,t)=>e===n[t])}return!1}(t[r],i)?void 0:i,a=Ar(n)===Ar(t[`${r}_type`])?void 0:n;return{[r]:null===o?"null":o,[`${r}_type`]:a}}function Ir(e,t,r){return Sr(br(e),t,r)}function Tr(e,t,r){return Sr({type:"APPLY_SAVED_FILTERS",filterId:e},t,r)}function Dr(e,t,r){return Sr(yr(r),e,t)}function Pr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Fr(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Fr(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Mr(e){let t=e.project,r=e.tab,n=e.parseQueryString,i=void 0===n?d.u:n,o=e.writeQueryString;const a=i(),s=(0,$.Zp)(),c=(0,B.useCallback)(e=>{o?o(e):s((0,_.Ao)(window.location.pathname,e))},[s,o]),m=Pr((0,V.t)("stat","errors"===r?"sum":"p75"),2),p=m[0],g=m[1],h=(0,l.O)().patchProjectState,f=hr.DM.flatMap(e=>a[e]).map(String).join("&"),v=(0,B.useMemo)(()=>(0,fr.y)(t.savedFilters,a),[t.savedFilters,f,a.interval]);return(0,B.useMemo)(()=>{const e=function(e){var t;let r=e.savedFilters,n=void 0===r?[]:r,i=e.stat,o=e.queryParams;null!=o||(o=(0,d.u)());const a=o.interval,l=(0,vr.G)(n,o);if("string"==typeof a&&(l.interval=a),l.stat=i||"p75",null!==(t=l.device)&&void 0!==t||(l.device=l.device||hr._G),"string"==typeof a&&(null!=a&&a.includes("-vs-")||null!=a&&a.endsWith("-comp"))){const e=(0,oe.oD)(a),t=e.selectedRangeFrom,r=e.selectedRangeTo,n=e.comparisonRangeFrom,i=e.comparisonRangeTo,o=function(e){const t={"5minute":0,hour:1,day:2,week:3};return e.reduce((e,r)=>t[r]>t[e]?r:e,e[0])}([(0,N.pP)(null!=n?n:t,r),(0,N.pP)(n,i)]);return{selectionSearch:(0,_.Ao)("",{...l,interval:(0,ye.vo)({from:t,to:r}),dateUnit:o}),comparisonSearch:(0,_.Ao)("",{...l,interval:(0,ye.vo)({from:n,to:i}),dateUnit:o})}}{const e=function(e){return(0,ye.vo)(Ye(e,void 0))}("string"==typeof a?a:"1mo"),t=(0,ye.Rc)(e),r=t.from,n=t.to;return{selectionSearch:(0,_.Ao)("",{...l,interval:e,dateUnit:(0,N.pP)(r,n)}
1),comparisonSearch:""}}}({savedFilters:t.savedFilters,stat:p,queryParams:i()}),r=e.selectionSearch,n=e.comparisonSearch,o=t.savedFilters.filter(e=>"rum"===e.type),l=o.find(e=>e.id.toString()===a.filterId);function s(e){const r=(0,T.sortBy)(t.savedFilters.filter(t=>t.id!==e.id),e=>e.name);r.push(e),c(Tr(String(e.id),i(),r)),h({id:t.id,savedFilters:r})}function m(e,t){return(0,_.Ao)(window.location.pathname,t.reduce((e,t)=>{let r=Pr(t,2);return Ir({filterName:r[0],filterValue:r[1],filterType:"is"},e,o)},e))}const f={selectionSearch:r,comparisonSearch:n,filterSettings:v,project:t,stat:p,setStat:g,getRumMetricDashboardLink:function(e){return(0,_.Ao)(A.DS.projectRumUrl(t.id,e),i())},getUrlWithAddedFilters(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return m(i(),t)},getUrlWithOnlyFilters(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return m(Dr(i(),o,["device"]),t)},addFilter:function(e,t){c(Ir({filterName:e,filterValue:t,filterType:arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is"},i(),o))},hasNonDeviceFilters:v.propertyFilters.filter(e=>"device"!==e.filterName).length>0,rumSavedFilters:o,selectedSavedFilter:l,clearFilters:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["device"];c(Dr(i(),t.savedFilters,e))},saveAsNewFilter:async e=>{await u.FH.createSavedFilter(t.id,{name:e,type:"rum",filters:v.savedFilterSettingsForSaving}).then(e=>(s(e),e))},updateSavedFilter:async()=>{l&&await u.FH.updateSavedFilter(l.id,{filters:v.savedFilterSettingsForSaving}).then(e=>(s(e),e))},setFilters:e=>{var t,r,n;c((t=e,r=i(),n=o,Sr((e=>({type:"SET_FILTERS",filters:e}))(t),r,n)))},applySavedFilter:e=>{c(Tr(e,i(),o))},removeFilter:function(e){c(function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return Sr(xr(e),t,r)}(e,i(),o))}};return f},[t,h,a.filterId,v,p,g,i,c])}var Or=r(58353),Lr=r(70052),Er=r(94905),Rr=r(78031);function Ur(e){let t=e.onSelectDeviceType,r=e.currentDeviceType,n=e.excludeAll;const i=[{title:"Mobile",value:"mobile",icon:(0,W.jsx)(Er.C,{style:{fill:"currentColor"}})},{title:"Desktop",value:"desktop",icon:(0,W.jsx)(Lr.S,{style:{fill:"currentColor"}})},{title:"All",value:"",icon:(0,W.jsx)(Rr.b,{})}];return(0,W.jsx)(H.L,{options:n?i.slice(0,-1):i,onSelectOption:t,optionValue:r,attributes:{"data-testid":"rum-filters-device"}})}r(96906);const Br={pageLoadId:"Page Load Metadata",pageLoad_domain:"Page Load Metadata",pageLoad_name:"Page Load Metadata",pageLoad_region:"Page Load Metadata",pageLoad_tags:"Page Load Metadata",pageLoad_url:"Page Load Metadata",pageLoad_deviceType:"Page Load Metadata",pageLoad_deviceId:"Page Load Metadata",speedIndex:"Core Web Vitals",tti:"Core Web Vitals",doc_duration:"Core Web Vitals",firstPaint:"Core Web Vitals",ttfb2:"Core Web Vitals",firstContentfulPaint:"Core Web Vitals",largestContentfulPaint:"Core Web Vitals",totalBlockingTime:"Core Web Vitals",cumulativeLayoutShift:"Core Web Vitals",performance:"Lighthouse Scores",accessibility:"Lighthouse Scores",bestPractices:"Lighthouse Scores",seo:"Lighthouse Scores",pageWeight:"Page Weight",pageWeight_document:"Page Weight",pageWeight_stylesheet:"Page Weight",pageWeight_script:"Page Weight",pageWeight_image:"Page Weight",pageWeight_font:"Page Weight",pageWeight_ajax:"Page Weight",pageWeight_redirect:"Page Weight",pageWeight_media:"Page Weight",pageWeight_other:"Page Weight",requestCount_document:"Request Counts",requestCount_stylesheet:"Request Counts",requestCount_script:"Request Counts",requestCount_image:"Request Counts",requestCount_font:"Request Counts",requestCount_ajax:"Request Counts",requestCount_redirect:"Request Counts",requestCount_media:"Request Counts",requestCount_other:"Request Counts",loadDelay:"LCP Subparts",loadDuration:"LCP Subparts",renderDelay:"LCP Subparts",dcl:"Load Timings",load:"Load Timings",cpuTime:"CPU Metrics",jsTime:"CPU Metrics",cpu_other:"CPU Metrics",cpu_scriptParseCompile:"CPU Metrics",cpu_scriptEvaluation:"CPU Metrics",cpu_parseHTML:"CPU Metrics",cpu_styleLayout:"CPU Metrics",cpu_garbageCollection:"CPU Metrics",cpu_paintCompositeRender:"CPU Metrics",crux_url_cls_p75:"CrUX URL Data",crux_url_fid_p75:"CrUX URL Data",crux_url_fcp_p75:"CrUX URL Data",crux_url_lcp_p75:"CrUX URL Data",crux_url_inp_p75:"CrUX URL Data",crux_url_ttfb_p75:"CrUX URL Data",crux_url_cls_good:"CrUX URL Data",crux_url_cls_ok:"CrUX URL Data",crux_url_cls_bad:"CrUX URL Data",crux_url_fid_good:"CrUX URL Data",crux_url_fid_ok:"CrUX URL Data",crux_url_fid_bad:"CrUX URL Data",crux_url_fcp_good:"CrUX URL Data",crux_url_fcp_ok:"CrUX URL Data",crux_url_fcp_bad:"CrUX URL Data",crux_url_lcp_good:"CrUX URL Data",crux_url_lcp_ok:"CrUX URL Data",crux_url_lcp_bad:"CrUX URL Data",crux_url_inp_good:"CrUX URL Data",crux_url_inp_ok:"CrUX URL Data",crux_url_inp_bad:"CrUX URL Data",crux_url_ttfb_good:"CrUX URL Data",crux_url_ttfb_ok:"CrUX URL Data",crux_url_ttfb_bad:"CrUX URL Data",crux_url_good:"CrUX URL Data",crux_url_rtt_p75:"CrUX URL Data",crux_url_lcpLoadDelay_p75:"CrUX URL Data",crux_url_lcpLoadDuration_p75:"CrUX URL Data",crux_url_lcpRenderDelay_p75:"CrUX URL Data",crux_url_adCount_p75:"CrUX URL Data",crux_url_adDensity_p75:"CrUX URL Data",crux_url_adBytes_p75:"CrUX URL Data",crux_url_adCpu_p75:"CrUX URL Data",crux_url_imageTtfb_p75:"CrUX URL Data",crux_origin_cls_p75:"CrUX Origin Data",crux_origin_fid_p75:"CrUX Origin Data",crux_origin_fcp_p75:"CrUX Origin Data",crux_origin_lcp_p75:"CrUX Origin Data",crux_origin_inp_p75:"CrUX Origin Data",crux_origin_ttfb_p75:"CrUX Origin Data",crux_origin_cls_good:"CrUX Origin Data",crux_origin_cls_ok:"CrUX Origin Data",crux_origin_cls_bad:"CrUX Origin Data",crux_origin_fid_good:"CrUX Origin Data",crux_origin_fid_ok:"CrUX Origin Data",crux_origin_fid_bad:"CrUX Origin Data",crux_origin_fcp_good:"CrUX Origin Data",crux_origin_fcp_ok:"CrUX Origin Data",crux_origin_fcp_bad:"CrUX Origin Data",crux_origin_lcp_good:"CrUX Origin Data",crux_origin_lcp_ok:"CrUX Origin Data",crux_origin_lcp_bad:"CrUX Origin Data",crux_origin_inp_good:"CrUX Origin Data",crux_origin_inp_ok:"CrUX Origin Data",crux_origin_inp_bad:"CrUX Origin Data",crux_origin_ttfb_good:"CrUX Origin Data",crux_origin_ttfb_ok:"CrUX Origin Data",crux_origin_ttfb_bad:"CrUX Origin Data",crux_origin_good:"CrUX Origin Data",crux_origin_rtt_p75:"CrUX Origin Data",crux_origin_lcpLoadDelay_p75:"CrUX Origin Data",crux_origin_adCount_p75:"CrUX Origin Data",crux_origin_adDensity_p75:"CrUX Origin Data",crux_origin_adBytes_p75:"CrUX Origin Data",crux_origin_adCpu_p75:"CrUX Origin Data",crux_origin_lcpLoadDuration_p75:"CrUX Origin Data",crux_origin_lcpRenderDelay_p75:"CrUX Origin Data",crux_origin_imageTtfb_p75:"CrUX Origin Data",console_messages:"Console Messages",console_errors:"Console Messages",console_totalErrors:"
1Console Messages",console_pageerrors:"Console Messages",console_warnings:"Console Messages",console_other:"Console Messages",console_logs:"Console Messages",nodes:"",ohl:"",JSEventListeners:"",RecalcStyleCount:"",LayoutCount:"",lcpAll:"",lvc:"",requestCount:"",hints_errors:"",hints_count:"",thirdParty_bytes:"3rd Party",thirdParty_ms:"3rd Party",thirdParty_count:"3rd Party",analysisId:"",cpuEnd:"",traceEnd:""},$r=(Object.fromEntries(k.chartMetrics.filter(e=>{let t=e.id;return Object.hasOwn(Br,t.replace(/\./g,"_"))}).map(e=>{let t=e.id,r=e.title;return[t.replace(/\./g,"_"),r]})),{pageLoadId:"Page",pageLoad_name:"Name",pageLoad_url:"URL",pageLoad_domain:"Domain",pageLoad_tags:"Tags",pageLoad_region:"Region",pageLoad_deviceType:"Device Type",pageLoad_deviceId:"Device"});var Vr=r(51160);const Hr=hr.Yw,Wr=Object.keys($r),Gr="createdAtYearMonthDayHourTimestamp";function zr(e){return Hr.includes(e)}function qr(e){return Wr.includes(e)}function Xr(e,t){if(zr(e))return{id:e,title:(0,hr.Cv)(e,t)||e,dataType:"rum"};if((0,Vr.Dg)(e))return{id:e,title:(0,hr.pg)(e)||e,dataType:"rum"};if(qr(e))return{id:e,title:$r[e],dataType:"lab_tests"};if(e===Gr)return{id:e,title:"Time",dataType:"lab_tests"};throw new Error(`Breakdown "${e}" not found in RUM breakdowns or lab test dimensions`)}var Kr=r(39591),Yr=r(95122),Jr=r(93576),Qr=r(99342),Zr=r(73005);const en=["pageLoads"];function tn(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function rn(e){var t;let r=e.pageLoads,n=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,en);const i=r.find(e=>String(e.id)===String(n.data.value)),o=(0,Zr.F)({type:"latestPerfSummariesForProject",id:null==i?void 0:i.projectId});return(0,W.jsx)(Yr.c.Option,{...n,children:i?(0,W.jsx)(Qr.L,{currentPageId:0,label:"",page:{...i},perfSummary:null!==(t=null==o?void 0:o[i.id])&&void 0!==t?t:null,context:""}):n.data.label})}function nn(e){const t=(0,k.Hh)(e,!0);if(t)return t.title;if($r[e])return $r[e];const r=e.replace("pageLoad_","");return r[0].toUpperCase()+r.slice(1)}const on=e=>(0,Jr.t)(e)||e,an={mobile:"Mobile",desktop:"Desktop","":"Any"};var ln=r(65422);function sn(e){let t=e.dataDomain,r=e.filterName,n=e.additionalData;return"lab_tests"===t?function(e,t){var r;const n=null!==(r=null==t?void 0:t.pageLoads)&&void 0!==r?r:[],i=new Set(n.map(e=>{var t;return null===(t=e.device)||void 0===t?void 0:t.formFactor})).size>1,o=new Set(n.map(e=>e.region)).size>1;function a(e){var t;const r=n.find(t=>String(t.id)===String(e));if(!r)return e;const a=[r.name];var l;return i&&null!==(t=r.device)&&void 0!==t&&t.formFactor&&a.push(r.device.formFactor),o&&a.push((null===(l=Bt.T8.find(e=>e.value===r.region))||void 0===l?void 0:l.name)||r.region),a.join(" - ")}const l={pageLoadId:{getValueLabel:a,ui:"predefined",getOptions:e=>(e.pageLoadId||[]).map(e=>({value:e,label:a(e)})),selectComponents:{Option:function(e){return(0,W.jsx)(rn,{...e,pageLoads:n})}},dataType:"enum"},pageLoad_name:{getValueLabel:on,ui:"creatable",getOptions:e=>(e.pageLoad_name||[]).map(e=>({value:e,label:l.pageLoad_name.getValueLabel(e)})),dataType:"text"},pageLoad_tags:{getValueLabel:e=>"$FILTER_NO_TAGS"===e?"Pages without tags":on(e),ui:"predefined",getOptions:e=>(e.pageLoad_tags||[]).map(e=>({value:e,label:"$FILTER_NO_TAGS"===e?"Pages without tags":e})),dataType:"text"},pageLoad_domain:{getValueLabel:on,getValueIcon:e=>(0,W.jsx)(Kr.s,{url:e}),ui:"creatable",getOptions:e=>(e.pageLoad_domain||[]).map(e=>({value:e,label:l.pageLoad_domain.getValueLabel(e)})),dataType:"text"},pageLoad_url:{getValueLabel:on,ui:"creatable",getOptions:e=>(e.pageLoad_url||[]).map(e=>({value:e,label:l.pageLoad_url.getValueLabel(e)})),dataType:"text"},pageLoad_deviceType:{getValueLabel:e=>{var t;return null!==(t=an[e])&&void 0!==t?t:e},ui:"predefined",getOptions:()=>Object.entries(an).map(e=>{let t=(n=2,function(e){if(Array.isArray(e))return e}(r=e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(r,n)||function(e,t){if(e){if("string"==typeof e)return tn(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?tn(e,t):void 0}}(r,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());var r,n;return{value:t[0],label:t[1]}}),dataType:"enum"},pageLoad_deviceId:{getValueLabel:e=>{if(null==t||!t.devices)return e;const r=t.devices.find(t=>String(t.id)===String(e));return r?r.name:e},ui:"predefined",getOptions:e=>{const r=e.pageLoad_deviceIds||[];return null!=t&&t.devices?r.map(e=>{var r,n;return{value:e,label:null!==(r=null==t||null===(n=t.devices)||void 0===n||null===(n=n.find(t=>String(t.id)===String(e)))||void 0===n?void 0:n.name)&&void 0!==r?r:e}}):r.map(e=>({value:e,label:e}))},dataType:"enum"},default:{getValueLabel:on,ui:"predefined",getOptions:t=>(t[e]||[]).map(e=>({value:e,label:l.default.getValueLabel(e)})),selectComponents:{},dataType:"unknown",getValueTooltip:e=>"null"===e?{content:"Represents lab tests with no value"}:null}},s=e&&(0,k.Hh)(e,!0);return s?{getValueLabel:()=>s.title,ui:"metric",getOptions:()=>[],dataType:"number"}:l[e]||l.default}(r,n):(0,ln.F)(r,null==n?void 0:n.rumPageGroups)}function cn(e,t){if(!e)return[];const r=sn({dataDomain:"rum",filterName:e,additionalData:{}});return r?"number"===r.dataType?Array.isArray(t)?t.map(dn):(null!==(n=null==t?void 0:t.split("-"))&&void 0!==n?n:[]).map(dn):Array.isArray(t)?t:t?[t]:[]:[];var n}function dn(e){if("null"===e)return"null";if(""===e||null===e)return null;const t=Number(e);return Number.isNaN(t)?null:t}function un(e){var t;return`pageLoad_${null!==(t={device:"deviceType",tag:"tags"}[e])&&void 0!==t?t:e}`}function mn(e){if(e)return Array.isArray(e)?e.filter(Boolean):[e]}function pn(e,t,r){const n=`${un(r)}_type`,i=`${r}_type`,o=e[n]||e[i],a=(null==t?void 0:t[n])||(null==t?void 0:t[i]);return"string"==typeof o&&["is","isNot","matches","doesNotMatch"].includes(o)?o:null!=a?a:"is"}function gn(e,t,r,n){const i=e[un(r)]||e[r],o=n?null==t?void 0:t[n]:void 0;return null!=i?mn(i):null!=o?mn(o):void 0}function hn(e,t){return{formFactor:"string"==typeof e.formFactor?e.formFactor:"all",device:(()=>{const r=e.device,n=null==t?void 0:t.device;if(null!=r){const e=mn(r);if(e&&e.length>0){const t=e.map(Number).filter(e=>!Number.isNaN(e));return t.length>0?t:void 0}return}if(null!=n&&!Number.isNaN(Number(n)))return[Number(n)]})(),device_type:pn(e,t,"device"),group:gn(e,t,"group","group"),group_type:pn(e,t,"group"),name:gn(e,t,"name","name"),name_type:pn(e,t,"name"),pageLoadId:(()=>{const r=e.pageLoadId,n=null==t?void 0:t.pageLoadId;if(null!=r){const e=mn(r);if(e&&e.length>0){const t=e.map(Number).filter(e=>!Number.isNaN(e));return t.length>0?t:void 0}return}if(null!=n&&!Number.isNaN(Number(n)))return[Number(n)]})(),pageLoadId_type:pn(e,t,"pageLoadId"),pageLoad_deviceType:gn(e,t,"pageLoad_deviceType","pageLoad_deviceType"),pageLoad_deviceType_type:pn(e,t,"pageLoad_deviceType"),search:gn(e,t,"search","search"),url:gn(e,t,"url","url"),url_type:pn(e,t,"url"),domain:gn(e,t,"domain","domain"),domain_type:pn(e,t,"domain"),tag:gn(e,t,"tag","tag"),tag_type:pn(e,t,"tag")}}const fn=e=>{let t=e.value;return(0,W.jsx)("span",{className:"font-weight-semi-bold",children:t})};function vn(e,t){const r=t.dataDomain,n=t.testIdPrefix,i=t.additionalData;return e.map(e=>{let t=e.filterName,o=e.filterValue,a=e.filterType;const l=sn({dataDomain:r,filterName:t,additionalData:i}),s=l.getValueLabel,c=l.filterListComponents,d=l.ui,u="rum"===r?(0,hr.Cv)(t,{rumCustomMappings:null==i?void 0:i.rumCustomMappings,rumPageGroups:null==i?void 0:i.rumPageGroups}):nn(t),m=(null==c?void 0:c.Label)||fn,p=Array.isArray(o)&&"metric"!==d?o.map((e,t,r)=>{let n=r.length;const i=s(e);return(0,W.jsxs)("span",{style:{display:"inline-flex",alignItems:"center"},children:[(0,W.jsx)(m,{rawValue:e,value:i}),t<n-1?", ":""]},i)}):(0,W.jsx)(m,{value:s(o),rawValue:o});return{id:t,label:u,rawValue:o,value:p,testId:`${n}-${t}`,filterType:a}})}function bn(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function xn(e,t){var r;const n=null!=t?t:{},i=n.devices,o=n.pageLoads,a=Object.entries(jn).reduce((t,r)=>{let n=(l=2,function(e){if(Array.isArray(e))return e}(a=r)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(a,l)||function(e,t){if(e){if("string"==typeof e)return bn(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?bn(e,t):void 0}}(a,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=n[0],o=n[1];var a,l;const s=e[i]||e[o],c=e[`${i}_type`]||e[`${o}_type`]||"is";return null==s||!s.length||Array.isArray(s)&&!s.some(e=>"string"!=typeof e||(null==e?void 0:e.trim()))||t.push({filterName:i,filterValue:s,filterType:c}),t},[]);return null!==(r=e.pageLoadId)&&void 0!==r&&r.length&&a.push({filterName:"pageLoadId",filterValue:e.pageLoadId,filterType:e.pageLoadId_type||"is"}),vn(a,{dataDomain:"lab_tests",testIdPrefix:"lab-test-filters-list-item",additionalData:{devices:i,pageLoads:o}})}function yn(e){var t;return null!==(t=jn[e])&&void 0!==t?t:e}const jn={pageLoad_deviceId:"device",pageLoad_domain:"domain",pageLoad_url:"url",pageLoad_tags:"tag",pageLoad_name:"name",pageLoad_deviceType:"pageLoad_deviceType"};var wn=r(93670);function Sn(e,t){return An(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||kn(e,t)||_n()}function _n(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function kn(e,t){if(e){if("string"==typeof e)return Cn(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Cn(e,t):void 0}}function Cn(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function An(e){if(Array.isArray(e))return e}function Nn(e){return e.replace(/[\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*")}function In(e){var t;const r=null===(t=e.metricFields)||void 0===t?void 0:t[0];if(r)return(0,Vr.Dg)(r.name)?"rum":"lab_tests"}function Tn(e,t){var r,n;if(null!==(r=e.displayOptions)&&void 0!==r&&r.title)return e.displayOptions.title;if(null!==(n=e.series[0])&&void 0!==n&&null!==(n=n.metricFields)&&void 0!==n&&null!==(n=n[0])&&void 0!==n&&n.name){var i,o,a;const r=null===(i=(0,wn.nW)(e.series[0].metricFields[0].name,{rumCustomMappings:t}))||void 0===i?void 0:i.title,n=(null!==(o=null===(a=e.series[0])||void 0===a||null===(a=a.groupByDimensions)||void 0===a?void 0:a.length)&&void 0!==o?o:0)>0?" by "+e.series[0].groupByDimensions.map(e=>{var t;return null===(t=Xr(e.name))||void 0===t?void 0:t.title}).join(", "):"",l=(0,N.nH)(e.series[0].configParams.dataType,e.series[0].metricFields[0].name),s="rum"===l?"RUM":"crux"===l?"CrUX":"Lab",c=null==r?void 0:r.toLowerCase().includes(l);return`${r}${c?"":` (${s})`}${n}`}return""}function Dn(e,t){return t&&"durationDependentBucketTimestamp"!==(null==t?void 0:t.name)?t:function(e){let t=e.from,r=e.to;return{name:{"5minute":"createdAtYearMonthDayHourFiveMinuteTimestamp",hour:"createdAtYearMonthDayHourTimestamp",day:"createdAtYearMonthDayTimestamp",week:"createdAtYearWeekTimestamp"}[(0,N.pP)(t,r)],type:"dimension"}}(Ye(e))}const Pn=24*N.C_*7;function Fn(e,t){const r=0===e.length?0:Math.max(...e.map(e=>e.position.y+e.position.height-1)),n=[];for(let e=0;e<r;e++)n[e]=new Array(t).fill(!1);return e.forEach(e=>{for(let r=e.position.y;r<e.position.y+e.position.height;r++)for(let i=e.position.x;i<e.position.x+e.position.width;i++){const e=r-1,o=i-1;n[e]&&o>=0&&o<t&&(n[e][o]=!0)}}),n}function Mn(e,t){const r=e.x<t.x+t.width&&e.x+e.width>t.x,n=e.y<t.y+t.height&&e.y+e.height>t.y;return r&&n}function On(e,t,r){const n=new Map(e.map(e=>[e.id,e.id===t?r:e.position])),i=[t],o=new Set([t]);for(;i.length>0;){const t=i.shift(),r=n.get(t);for(const t of e){if(o.has(t.id))continue;const e=n.get(t.id);if(Mn(r,e)){const a=r.y+r.height;n.set(t.id,{...e,y:a}),o.add(t.id),i.push(t.id)}}}return e.map(e=>({...e,position:n.get(e.id)}))}async function Ln(e){var t,r,n;const i=await u.FH.customDashboards.createDashboard(e.projectId,{name:e.name,config:e.config,legacyDashboardId:null!==(t=e.legacyDashboardId)&&void 0!==t?t:null});return{id:i.id,name:i.name,projectId:i.projectId,createdAt:new Date(i.createdAt),updatedAt:new Date(i.updatedAt),authorId:i.authorId,author:null!==(r=i.author)&&void 0!==r?r:null,config:i.config,legacyDashboardId:null!==(n=i.legacyDashboardId)&&void 0!==n?n:null}}function En(e){return"metric"===e.type}function Rn(e){return"text"===e.type}function Un(e){return"histogram"===e.type}function Bn(e,t,r){return"number"==typeof r[0]&&"number"==typeof r[1]?{fieldName:e,operator:"BETWEEN",values:r,type:t}:"number"==typeof r[0]?{fieldName:e,operator:"NUMERIC_GREATER_THAN_OR_EQUAL",values:[r[0]],type:t}:"number"==typeof r[1]?{fieldName:e,operator:"NUMERIC_LESS_THAN_OR_EQUAL",values:[r[1]],type:t}:"null"===r[0]?{fieldName:e,operator:"IS_NULL",values:[],type:t}:null}function $n(e){const t=An(i=e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(i)||kn(i)||_n(),r=t[0],n=t.slice(1);var i;if(!r)return null;const o="EXCLUDE"===r.type,a=r.operator;let l;return l="REGEXP_PARTIAL_MATCH"===a||"REGEXP_EXACT_MATCH"===a?o?"doesNotMatch":"matches":o?"isNot":"is",{attributeFilter:r.fieldName,filterQueryType:l,filterValue:Vn(r.values,r.operator,...n)}}function Vn(e,t){if("NUMERIC_GREATER_THAN_OR_EQUAL"===t)return[e[0],null];if("NUMERIC_LESS_THAN_OR_EQUAL"===t)return[null,e[0]];if("IS_NULL"===t||"REGEXP_EXACT_MATCH"===t||"REGEXP_PARTIAL_MATCH"===t||"EQUALS"===t||"IN_LIST"===t){for(var r=arguments.length,n=new Array(r>2?r-2:0),i=2;i<r;i++)n[i-2]=arguments[i];return[{operator:t,values:e},...n].flatMap(e=>"IS_NULL"===e.operator?["null"]:e.values)}return e}function Hn(e){return"timeseries-chart"===e}const Wn="rumFilter_",Gn="labFilter_";function zn(e,t){const r={};for(const i of Object.entries(e)){var n=Sn(i,2);const e=n[0],o=n[1];e.startsWith(t)&&(r[e.slice(t.length)]=o)}return r}function qn(e,t){const r={};for(const i of Object.entries(e)){var n=Sn(i,2);const e=n[0],o=n[1];r[t+e]=o}return r}const Xn=Object.fromEntries(Object.entries(jn).map(e=>{let t=Sn(e,2),r=t[0];return[t[1],r]})),Kn=new Set(["timezone","interval","filterId","removed"]);function Yn(e){return null==e?[]:(Array.isArray(e)?e:[e]).filter(e=>null!=e&&""!==e&&"all"!==e).map(String)}function Jn(e,t,r){const n=/not/i.test(t),i=/match/i.test(t);return[{fieldName:e,operator:i?"REGEXP_PARTIAL_MATCH":"IN_LIST",type:n?"EXCLUDE":"INCLUDE",values:i?r.map(Nn):r}]}function Qn(e,t,r){var n;const i=Bn(e,/not/i.test(t)?"EXCLUDE":"INCLUDE",(Array.isArray(r)?r:null!==(n=null==r?void 0:r.split(/-(?!\d)/))&&void 0!==n?n:[]).map(dn));return i?[i]:null}function Zn(e,t){const r=t.filter(e=>"rum"===e.type),n=(0,vr.G)(r,e),i=[];for(const e of Object.entries(n)){var o,a=Sn(e,2);const t=a[0],r=a[1];if(Kn.has(t)||t.endsWith("_type"))continue;const l=null!==(o=n[`${t}_type`])&&void 0!==o?o:"is";if("number"===hr.R[t]){const e=Qn(t,l,r);e&&i.push(e);continue}const s=Yn(r);0!==s.length&&i.push(Jn(t,l,s))}return i}function ei(e,t){var r;const n=t.filter(e=>"lab"===e.type).find(t=>
1t.id.toString()===String(e.filterId));let i=null==n?void 0:n.filters;const o=Array.isArray(e.removed)?e.removed.filter(Boolean):[];if(i&&o.length>0){i={...i};for(const e of o)delete i[e],delete i[`${e}_type`]}const a=hn(e,i),l=[];for(const e of Object.entries(Xn)){var s,c,d,u=Sn(e,2);const t=u[0],r=u[1];if("device"===t)continue;const n=null!==(s=a[t])&&void 0!==s?s:a[r];if(!n)continue;const i=Yn(n);if(0===i.length)continue;const o=null!==(c=null!==(d=a[`${t}_type`])&&void 0!==d?d:a[`${r}_type`])&&void 0!==c?c:"is";l.push(Jn(r,o,i))}if(null!==(r=a.pageLoad_deviceType)&&void 0!==r&&r.length){const e=Yn(a.pageLoad_deviceType);if(e.length>0){var m;const t=null!==(m=a.pageLoad_deviceType_type)&&void 0!==m?m:"is";l.push(Jn("pageLoad_deviceType",t,e))}}return l}function ti(e,t,r){var n;if(null==e.savedFilterId)return[];if("rum"===t)return Zn({filterId:e.savedFilterId,removed:e.removedSavedFilterFields},r);const i=null===(n=e.removedSavedFilterFields)||void 0===n?void 0:n.map(e=>{var t;return null!==(t=jn[e])&&void 0!==t?t:e});return ei({filterId:e.savedFilterId,removed:i},r)}function ri(e,t){const r=new Set(e.flatMap(e=>e.map(e=>e.fieldName)));return[...e,...t.filter(e=>!e.some(e=>r.has(e.fieldName)))]}function ni(e,t,r){var n;return ri(null!==(n=e.dimensionsFilters)&&void 0!==n?n:[],ti(e,t,r))}var ii=r(43913),oi={};function ai(){return(0,d.u)()}function li(e){var t,r,n,i,o;let a=e.project,l=e.showFilters,s=e.onToggleFilters;const c=(0,$.Zp)();ai();const u=(0,B.useId)(),m=(0,d.u)(),p=zn(m,Gn),g=zn(m,Wn),h=a.savedFilters.filter(e=>"lab"===e.type),f=p.filterId,v=h.find(e=>e.id.toString()===String(f)),b=hn(p,null==v?void 0:v.filters),x=null!==(t=null===(r=(0,Or.n)().filterSettings.propertyFilters.find(e=>"device"===e.filterName))||void 0===r?void 0:r.filterValue)&&void 0!==t?t:[],y=null!==(n=b.pageLoad_deviceType)&&void 0!==n?n:[],j=a.savedFilters.find(e=>"rum"===e.type&&e.id.toString()===String(g.filterId)),w=null!=(null==j||null===(i=j.filters)||void 0===i?void 0:i.device),S=null!=(null==v||null===(o=v.filters)||void 0===o?void 0:o.pageLoad_deviceType),k=(Array.isArray(g.removed)?g.removed:[g.removed]).filter(Boolean),C=(0,B.useCallback)(e=>{let t,r;""===e?(t=w?Array.from(new Set([...k,"device"])):k,r=S?"":void 0):(t=k.filter(e=>"device"!==e),r=[e]),c((0,_.Ao)(window.location.pathname+window.location.search,{[`${Wn}device`]:""===e?void 0:[e],[`${Wn}removed`]:t.length>0?t:void 0,[`${Gn}pageLoad_deviceType`]:r}))},[c,w,S,k]);return(0,W.jsxs)("div",{className:"dashboard-control-bar d-flex align-items-center justify-content-end flex-grow",children:[(0,W.jsxs)("label",{className:"label dashboard-control-bar__filter-toggle mt-0",htmlFor:u,children:[(0,W.jsx)("input",{id:u,type:"checkbox",checked:l,onChange:s}),(0,W.jsx)("span",{children:"Show Filters"})]}),(0,W.jsx)("div",{className:"dashboard-control-bar__divider"}),(0,W.jsx)(Ur,{currentDeviceType:si(Array.isArray(x)?x:[x].filter(Boolean),y),onSelectDeviceType:C})]})}function si(e,t){const r=new Set([...e.map(e=>(null!=e?e:"").toLocaleLowerCase()),...t.map(e=>(null!=e?e:"").toLocaleLowerCase())]);if(0===r.size)return"";const n=Array.from(r)[0];return 1===r.size&&["mobile","desktop",""].includes(n)?n:void 0}oi.styleTagTransform=ve(),oi.setAttributes=pe(),oi.insert=ue().bind(null,"head"),oi.domAPI=ce(),oi.insertStyleElement=he(),le()(ii.A,oi),ii.A&&ii.A.locals&&ii.A.locals;var ci=r(52792),di={};di.styleTagTransform=ve(),di.setAttributes=pe(),di.insert=ue().bind(null,"head"),di.domAPI=ce(),di.insertStyleElement=he(),le()(ci.A,di),ci.A&&ci.A.locals&&ci.A.locals;const ui=["onClick","children"],mi=(0,B.forwardRef)(function(e,t){let r=e.onClick,n=e.children,i=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,ui);return(0,W.jsx)("button",{ref:t,type:"button",onClick:r,className:"filter-button",...i,children:n})});var pi=r(18756),gi=(r(9391),r(66212)),hi=r(70594),fi=r(5987);function vi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return bi(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?bi(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bi(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function xi(e,t){return e||t?e?t?e.toLocaleLowerCase().localeCompare(t.toLocaleLowerCase()):-1:1:0}const yi=[],ji={rum:{},lab_tests:{}},wi={rum:{},lab_tests:{}};var Si=r(92599);function _i(e){let t=e.onApply,r=e.onCancel,n=e.disableApply;return(0,W.jsxs)("div",{className:"popover__actions",children:[(0,W.jsx)(Si.Z,{onClick:r,size:"xs","data-testid":"popover-cancel-button"}),(0,W.jsx)(dr.$,{type:"submit",size:"xs",theme:"primary","data-testid":"popover-apply-button",onClick:t,disabled:n,children:"Apply"})]})}var ki=r(69640);const Ci=function(e){return(0,W.jsx)(Yr.c.Option,{...e,children:(0,W.jsxs)("div",{className:"d-flex align-items-center",style:{lineHeight:"1em"},children:[(0,W.jsx)("div",{style:{height:16,marginRight:10},children:(0,W.jsx)(ki.x,{optionValue:e.data.value})}),(0,W.jsx)("div",{children:e.data.label})]})})},Ai=function(e){return(0,W.jsx)(Yr.c.SingleValue,{...e,children:(0,W.jsxs)("div",{className:"d-flex align-items-center",style:{lineHeight:"1em"},children:[(0,W.jsx)("div",{style:{height:16,marginRight:10},children:(0,W.jsx)(ki.x,{optionValue:e.data.value})}),(0,W.jsx)("div",{children:e.data.label})]})})};function Ni(e){let t=e.flattenList,r=e.name,n=e.filterValueName,i=e.id,o=e.options,a=e.small,l=e.autoFocus,s=e.onSelection;const c=(0,U.j7)().setFieldValue,d=(0,B.useMemo)(()=>t?o.flatMap((0,fi.A)("options")):o,[o,t]);return(0,W.jsx)("div",{children:(0,W.jsx)(Yt.m,{openMenuOnFocus:l,autoFocus:l,id:i,small:a,name:r,options:d,filterOption:(e,t)=>e.data.label.toLowerCase().includes(t.toLowerCase()),placeholder:"Select Property",reactSelectStyles:{menu:e=>({...e,zIndex:2}),option:e=>({...e,paddingTop:10,paddingBottom:10,paddingLeft:10})},components:{Option:Ci,SingleValue:Ai},maxMenuHeight:450,onSelection:e=>{c(n,[]),null==s||s(e)}})})}var Ii=r(32485),Ti=r.n(Ii),Di=r(24445);function Pi(e){let t=e.className,r=e.name,n=e.valueName,i=e.id,o=e.isDisabled,a=e.small,l=void 0===a||a,s=e.onSelection,c=e.options;const d=(0,U.j7)(),u=d.values,m=d.setFieldValue,p=(0,Di.A)(r.split("."),u);return(0,B.useEffect)(()=>{c.map(e=>e.value).includes(p)||(m(r,"is"),m(n,[]))},[c,r,n,p,m]),(0,W.jsx)("div",{className:Ti()("filter-popover__field filter-popover__field--type",t),children:(0,W.jsx)(Yt.m,{openMenuOnFocus:!0,name:null!=r?r:"filterQueryType",id:i,small:l,options:c,isDisabled:o,onSelection:s},JSON.stringify(c))})}var Fi=r(24565),Mi=r(34459),Oi=r(95294),Li=r(65363);function Ei(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Ri(e){var t;let r=e.id,n=e.name,i=e.filterValueOptions,o=e.filterValueOptionsStatus,a=e.components,l=e.getValueLabel,s=e.small,c=e.autoFocus,d=e.showNullOptionInSelectMenus,u=void 0===d||d;const m=(0,U.j7)(),p=m.values,g=m.setFieldValue,h=null!==(t=(0,Di.A)(n.split("."),p))&&void 0!==t?t:[],f=(j=(0,B.useState)(""),w=2,function(e){if(Array.isArray(e))return e}(j)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(j,w)||function(e,t){if(e){if("string"==typeof e)return Ei(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ei(e,t):void 0}}
1(j,w)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),v=f[0],b=f[1],x=h.map(e=>"string"==typeof e?(0,Oi.A)(e):e).filter(Boolean).map(e=>{var t;return{label:null!==(t=null==l?void 0:l(e))&&void 0!==t?t:e,value:e}}),y=[...x,...(null!=i?i:[]).filter(e=>!h.includes(e.value)),...!u||null!=i&&i.some(e=>"null"===e.value)||null!=h&&h.includes("null")?[]:[{label:(0,Jr.t)("null"),value:"null"}]];var j,w;const S=(0,B.useMemo)(()=>({...s?Dt.t:{}}),[s]);return(0,W.jsx)(Li.A,{autoFocus:c,openMenuOnFocus:!0,id:r,options:y,isLoading:"loading"===o,isMulti:!0,onChange:function(e){g(n,e.map(e=>"string"==typeof e.value?e.value.trim():e.value))},onBlur:function(){if(!v)return;const e=[...h,v.trim()];g(n,e),b("")},onInputChange:e=>b(e),value:x,getOptionValue:(0,fi.A)("value"),getOptionLabel:e=>{var t;return null!==(t=null==l?void 0:l(e.value))&&void 0!==t?t:e.label},placeholder:"Enter value…",formatCreateLabel:e=>`Select custom value "${e}"`,classNamePrefix:"react-select",classNames:{container:()=>"react-select-container"},styles:S,components:a})}var Ui=r(17674),Bi={};function $i(e){let t=e.name,r=e.small,n=e.autoFocus,i=e.filterNamePath;const o=(0,U.j7)().values,a=(0,Di.A)(i.split("."),o),l=(0,Di.A)(t.split("."),o);if(!a||!(0,Vr.Dg)(a))return null;const s=function(e){try{return(0,hr.T5)(e)}catch(e){return"score"}}(a);if("null"===l[0]){const e=o.filterQueryType;return(0,W.jsx)("div",{style:{paddingTop:4},className:"scale-small-1 color-coldGrey2",children:"isNot"===e?"Any Value (Not Null)":"No Value (Is Null)"})}const c="count"!==s&&"cls"!==a&&"float"!==s,d="string"==typeof l[0]&&"null"===l[0];return(0,W.jsxs)("div",{className:"row filter-value-range-inputs",children:[(0,W.jsx)(Vi,{label:"From",name:`${t}.0`,id:`${t}-from`,autoFocus:n,disabled:d,small:r,unit:c?s:void 0,value:l[0]}),(0,W.jsx)(Vi,{label:"To",name:`${t}.1`,id:`${t}-to`,disabled:d,small:r,unit:c?s:void 0,value:l[1]})]})}function Vi(e){let t=e.label,r=e.name,n=e.id,i=e.autoFocus,o=e.disabled,a=e.small,l=e.unit,s=e.value;return(0,W.jsxs)("div",{className:"col-md-6",children:[(0,W.jsx)("label",{htmlFor:"from",style:{marginBottom:0},children:t}),(0,W.jsxs)("div",{className:"d-flex align-items-center gap-xxsm",children:[(0,W.jsx)(U.D0,{autoFocus:i,autoComplete:"off",name:r,id:n,type:"number","data-testid":`rum-filters-input-${t}`,disabled:o,className:Ti()({small:a,disabled:o}),style:a?{padding:"4px"}:void 0,value:o?"":null!=s?s:""}),l?(0,W.jsx)("span",{className:"filter-value-range-inputs__unit"+("mbps"===l?" text-capitalize":""),children:l}):null]})]})}Bi.styleTagTransform=ve(),Bi.setAttributes=pe(),Bi.insert=ue().bind(null,"head"),Bi.domAPI=ce(),Bi.insertStyleElement=he(),le()(Ui.A,Bi),Ui.A&&Ui.A.locals&&Ui.A.locals;const Hi=(0,hi.A)((0,fi.A)("value"));function Wi(e){var t;let r=e.name,n=e.id,i=e.filterValueOptions,o=e.filterValueOptionsStatus,a=e.getValueLabel,l=e.small,s=e.autoOpen,c=e.components,d=e.showNullOptionInSelectMenus,u=void 0===d||d;const m=r,p=null!==(t=(0,Di.A)(m.split("."),(0,U.j7)().values))&&void 0!==t?t:[],g=(0,B.useMemo)(()=>[...Hi([...(null!=i?i:[]).map(e=>{var t;let r=e.value,n=e.label;return{value:r,label:null!==(t=null==a?void 0:a(r))&&void 0!==t?t:n}}),...p.map(e=>{var t;return{value:e,label:null!==(t=null==a?void 0:a(e))&&void 0!==t?t:e}})]),...!u||p.includes("null")||null!=i&&i.some(e=>"null"===e.value)?[]:[{label:(0,Jr.t)("null"),value:"null"}]],[i,p,u,a]);return(0,W.jsx)(Yt.m,{id:n,small:l,autoFocus:s,openMenuOnFocus:!0,defaultMenuIsOpen:s,options:g,name:null!=r?r:"filterValue",isMulti:!0,isLoading:"loading"===o,components:c})}const Gi=[];function zi(e){let t=e.id,r=e.name,n=e.filterNamePath,i=e.uiType,o=e.filterQueryTypePath,a=e.filterValueOptions,l=e.filterValueOptionsStatus,s=e.getValueLabel,c=e.components,d=e.autoFocus,u=e.small,m=e.showNullOptionInSelectMenus;return"metric"===i?(0,W.jsx)($i,{name:r,id:t,filterNamePath:n,autoFocus:d,small:u}):"predefined"===i?(0,W.jsx)(Wi,{name:r,id:t,filterValueOptions:a,filterValueOptionsStatus:l,components:{MultiValueRemove:Fi.p5,...c},autoOpen:d,small:u,showNullOptionInSelectMenus:m,getValueLabel:s}):(0,W.jsx)(qi,{name:r,id:t,filterQueryTypePath:o,filterValueOptions:null!=a?a:Gi,filterValueOptionsStatus:l,getValueLabel:s,components:{MultiValueRemove:Fi.p5,...c},autoFocus:d,small:u,showNullOptionInSelectMenus:m})}function qi(e){let t=e.id,r=e.name,n=e.filterQueryTypePath,i=e.filterValueOptions,o=e.filterValueOptionsStatus,a=e.getValueLabel,l=e.components,s=e.autoFocus,c=e.small,d=e.showNullOptionInSelectMenus;const u=(0,Di.A)(n.split("."),(0,U.j7)().values);return"is"===u||"isNot"===u?(0,W.jsx)(Ri,{name:r,id:t,filterValueOptions:i,filterValueOptionsStatus:o,getValueLabel:a,c
1omponents:{MultiValueRemove:Fi.p5,...l},autoFocus:s,small:c,showNullOptionInSelectMenus:d}):(0,W.jsx)(Ki,{name:r,id:t,autoFocus:s,small:c})}function Xi(e){return"string"==typeof e&&e?e.includes("\\/")?"Note that you don't need to escape / characters.":/\.\*|\.\+|\.\?/.test(e)?"Use wildcard * to match any character, rather than using regular expressions.":null:null}function Ki(e){let t=e.name,r=e.id,n=e.autoFocus,i=e.small;const o=`${r}-container`,a="matches-filter-input-item-container",l=(0,B.useCallback)(()=>{const e=document.querySelector(`#${o} div.${a}:last-of-type input`);e&&e.focus()},[o,a]);return(0,W.jsx)(U.ED,{name:t,children:e=>{let s=e.form,c=e.push,d=e.remove;const u=(0,Di.A)(t.split("."),s.values)||[],m=Array.isArray(u)?u.length>0?u:[""]:[u];return(0,W.jsxs)("div",{id:o,children:[m.map((e,o)=>(0,W.jsxs)("div",{className:`${a} pt-2`,children:[(0,W.jsxs)("div",{className:"position-relative",children:[(0,W.jsx)(U.D0,{autoFocus:o===m.length-1&&n,name:`${t}.${o}`,id:0===o?r:void 0,className:i?"small":void 0,placeholder:"Enter pattern, e.g. product/*/details…",onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),o===m.length-1&&(c(""),setTimeout(l,100)))}}),u.length>1&&(0,W.jsx)("button",{type:"button",className:"position-absolute",style:{top:0,right:"0.5rem",height:"100%",display:"flex",alignItems:"center",outline:"none",background:"transparent",border:0,cursor:"pointer",padding:0},title:"Remove",onClick:()=>d(o),children:(0,W.jsx)(Mi.d,{size:10})})]}),(0,W.jsx)(bt.H,{error:void 0,name:`${t}.${o}`}),Xi(e)&&(0,W.jsx)("div",{className:"mt-1 scale-small-1 color-coldGrey1",children:Xi(e)})]},o)),(0,W.jsx)("button",{type:"button",style:{outline:"none",border:0,background:"transparent",cursor:"pointer",color:"#3d71a9",fontSize:"0.85rem",marginTop:"0.5rem"},onClick:()=>c(""),children:"+ Add another value"})]})}})}function Yi(e){let t=e.children,r=e.groupName;return(0,W.jsx)("div",{className:"btn-group",role:"group","aria-label":r,children:t})}var Ji=r(69011),Qi={};Qi.styleTagTransform=ve(),Qi.setAttributes=pe(),Qi.insert=ue().bind(null,"head"),Qi.domAPI=ce(),Qi.insertStyleElement=he(),le()(Ji.A,Qi),Ji.A&&Ji.A.locals&&Ji.A.locals;const Zi=[{title:"Range",value:"range"},{title:"Is Null",value:"null"}];function eo(e){let t=e.name,r=e.uiType;const n=(0,U.j7)(),i=n.setFieldValue,o=n.values;return"metric"!==r?null:(0,W.jsx)(Yi,{groupName:"Null Options",children:Zi.map(e=>{var r,n;const a="null"===e.value?(null===(r=o[null!=t?t:"filterValue"])||void 0===r?void 0:r[0])===e.value:"null"!==(null===(n=o[null!=t?t:"filterValue"])||void 0===n?void 0:n[0]);return(0,W.jsx)("button",{className:Ti()("option-button bg-transparent",{"color-blue1":a,"color-coldGrey1":!a,"border-bottom-2":a,"border-color-blue1":a,"border-color-none":!a}),type:"button",onClick:r=>{r.stopPropagation(),i(`${null!=t?t:"filterValue"}`,"null"===e.value?["null"]:[])},children:e.title},e.value)})})}function to(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const ro={maxWidth:500},no={is:"Any of the selected filter values must exactly match",isNot:"None of the selected filter values can exactly match",matches:"The value must match somewhere within the field. Use * for wildcard matching.",doesNotMatch:"The value must not match somewhere within the field. Use * for wildcard matching."};let io=!1;function oo(e){var t;let r=e.flattenFilterAttributeList,n=e.filterNameOptions,i=e.filterValueOptions,o=e.filterValueOptionsStatus,a=e.onCancel,l=e.onChange,s=e.filterOptionHelper,c=e.dataDomain,d=e.filterTypeOptions;const u=(0,U.j7)(),m=u.values,p=u.initialValues,g=u.setFieldValue;(0,B.useEffect)(()=>{l&&l(m)},[m,l]);const h=m.attributeFilter,f=!!h,v=!(0,fi.A)("attributeFilter",p),b=(0,B.useRef)({status:o,count:i.length});b.current={status:o,count:i.length};const y=(0,B.useRef)(null),j=(k=(0,B.useState)(io),C=2,function(e){if(Array.isArray(e))return e}(k)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(k,C)||function(e,t){if(e){if("string"==typeof e)return to(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?to(e,t):void 0}}(k,C)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),w=j[0],S=j[1],_=(0,B.useCallback)(()=>{if(v){let e=0;function t(){if(e+=1,"loading"===b.current.status&&0===b.current.count&&e<20)return void(y.current=setTimeout(t,100));if(document.querySelector("#filter-type-select .react-select__control--menu-is-open"))return;const r=document.querySelector("#filter-value-input input")||document.querySelector("input#filter-value-input");null==r||r.focus()}y.current=setTimeout(t,100)}},[v]);var k,C;return(0,B.useEffect)(()=>()=>{clearTimeout(y.current)},[v]),(0,W.jsxs)(U.lV,{style:ro,"data-testid":"filter-popover-form",children:[(0,W.jsxs)("div",{className:"filter-popover__row",children:[(0,W.jsxs)("div",{className:"filter-popover__field filter-popover__field--value",children:[(0,W.jsx)("label",{className:"filter-popover__label",htmlFor:"filter-attribute-select",children:"Filter By"}),(0,W.jsx)(Ni,{flattenList:r,name:"attributeFilter",filterValueName:"filterValue",id:"filter-attribute-select",options:n,small:!0,autoFocus:v,onSelection:_})]}),(0,W.jsxs)("div",{className:"filter-popover__field filter-popover__field--type",children:[(0,W.jsx)("label",{htmlFor:"filter-type-select",className:"filter-popover__label",children:"Type"}),(0,W.jsx)(Pi,{name:"filterQueryType",valueName:"filterValue",id:"filter-type-select",isDisabled:!m.attributeFilter,small:!0,onSelection:_,options:d})]})]}),h&&(0,W.jsxs)("div",{className:"filter-popover__field",children:[(0,W.jsxs)("label",{htmlFor:"filter-value-input",className:"filter-popover__label d-flex align-items-center justify-content-between",children:[(0,W.jsxs)("div",{className:"d-flex align-items-center gap-xxsm",children:[(0,W.jsx)("span",{style:{marginTop:1},children:"Value"}),(0,W.jsx)(x.c,{content:no[m.filterQueryType],style:{marginTop:-1}})]}),(0,W.jsx)(eo,{uiType:s.ui})]}),(0,W.jsx)(zi,{id:"filter-value-input",name:"filterValue",filterNamePath:"attributeFilter",filterQueryTypePath:"filterQueryType",filterValueOptions:i,filterValueOptionsStatus:o,getValueLabel:s.getValueLabel,components:s.selectComponents,uiType:s.ui,small:!0,autoFocus:(null===(t=(0,fi.A)("filterValue",p))||void 0===t?void 0:t.length)>0,showNullOptionInSelectMenus:"rum"===c}),(0,W.jsxs)("div",{className:"mt-1",style:{display:!w&&!/match/i.test(m.filterQueryType)&&m.filterValue.length&&m.filterValue.some(e=>"string"==typeof e&&e.includes("*"))?"block":"none",fontSize:13,color:"var(--coldGrey1)"},children:['Wildcards (*) are not supported with "is" or "is not" filter types. Please change the filter type to "matches" or "does not match" to use wildcards',(0,W.jsx)(dr.$,{size:"xs",theme:"custom",className:"d-inline-block color-linkBlue bg-transparent hover-bg-lightBlue py-0 border-0 px-1 mx-1",style:{padding:0,border:0},onClick:()=>{S(!0),io=!0},children:"Don't show again"}),(0,W.jsxs)(dr.$,{size:"xs",theme:"custom",className:"d-inline-block color-linkBlue bg-transparent hover-bg-lightBlue py-0 border-0 px-1",onClick:()=>{S(!0),g("filterQueryType","is"===m.filterQueryType?"matches":"doesNotMatch")},children:["Switch to"," ","is"===m.filterQueryType?"matches":"does not match"]})]})]}),(0,W.jsx)(_i,{onCancel:a,disableApply:!f})]})}var ao=r(61410),lo={};lo.styleTagTransform=ve(),lo.setAttributes=pe(),lo.insert=ue().bind(null,"head"),lo.domAPI=ce(),lo.insertStyleElement=he(),le()(ao.A,lo),ao.A&&ao.A.locals&&ao.A.locals;const so={text:[{label:"Is",value:"is"},{label:"Is Not",value:"isNot"},{label:"Matches",value:"matches"},{label:"Does Not Match",value:"doesNotMatch"}],enum:[{label:"Is",value:"is"},{label:"Is Not",value:"isNot"}],number:[{label:"Is",value:"is"},{label:"Is Not",value:"isNot"}],unknown:[{label:"Is",value:"is"},{label:"Is Not",value:"isNot"}]},co=[{label:"Test Configuration",keys:["pageLoad_url","pageLoad_domain","pageLoad_deviceId","pageLoad_deviceType"]},{label:"Tags & Organization",keys:["pageLoad_tags"]},{label:"Page",keys:["pageLoadId","pageLoad_name"]}];var uo=r(34508);const mo=[{label:"Core Web Vitals",metrics:["ttfb","fcp","lcp","cls","inp"]},{label:"TTFB Breakdown",metrics:["ttfbRedirect","ttfbWait","ttfbDns","ttfbTcp","ttfbSsl","ttfbResponse","ttfbDownload"]},{label:"LCP Details",metrics:["lcpRenderDelay","lcpLoadTime","lcpLoadDelay","lcpCpuTime","lcpScriptDuration"]},{label:"INP Details",metrics:["inputDelay","processingTime","presentationDelay","inpPrimaryScriptDuration"]},{label:"Page Load Events",metrics:["dcl","load"]},{label:"Network & Device",metrics:["networkRtt","networkBandwidth","windowWidth","windowHeight"]},{label:"Custom Metrics",metrics:["metric1","metric2","metric3","metric4","metric5"]},{label:"Other Metrics",metrics:["clsScrollTop","fppwTotal","uncachedRatio","errorCount","views"]}];const po=new Set(["views","experienceId"]);function go(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ho(e){let t=e.flattenFilterAttributeList,r=e.projectId,n=e.project,i=e.mappingData,o=e.dataDomain,a=e.filtersInUse,l=e.initialFilter,s=e.onApply,c=e.onCancel,d=e.externallyControlledFilters,m=e.anchorElement,p=e.anchorAlignment,g=void 0===p?"left":p,h=e.onPopoverClick;const f=(N=(0,B.useState)((null==l?void 0:l.attributeFilter)||""),T=2,function(e){if(Array.isArray(e))return e}(N)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(N,T)||function(e,t){if(e){if("string"==typeof e)return go(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?go(e,t):void 0}}(N,T)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),v=f[0],b=f[1],x=(0,B.useCallback)(e=>{e.attributeFilter&&e.attributeFilter!==v&&b(e.attributeFilter)},[v]),y=(0,B.useMemo)(()=>{return i||(n?{devices:n.devices,rumPageGroups:null===(e=n.rumSnippet)||void 0===e?void 0:e.rumPageGroups,rumCustomMappings:null===(t=n.rumSnippet)||void 0===t?void 0:t.rumCustomMappings,rumSnippetConfig:null===(r=n.rumSnippet)||void 0===r?void 0:r.config,pageLoads:n.pageLoads}:{});var e,t,r},[i,n]),j=function(e){let t=e.dataDomain,r=e.mappingData,n=e.filtersInUse,i=e.initialFilterName,o=void 0===i?"":i,a=e.externallyControlledFilters;return(0,B.useMemo)(()=>"rum"===t?function(e){let t=e.mappingData,r=e.initialFilterName,n=e.externallyControlledFilters;const i=new Set(e.filtersInUse.filter(e=>e!==r)),o=e=>{var r;return!("rootId"===e&&(null===(r=t.rumSnippetConfig)||void 0===r||!r.spa)||(0,Vr.SA)(e)||i.has(e)||null!=n&&n.has(e)||po.has(e)||void 0===(0,hr.Cv)(e,{rumCustomMappings:t.rumCustomMappings}))},a=e=>({value:e,label:(0,hr.Cv)(e,{rumCustomMappings:t.rumCustomMappings})}),l=[...uo.E,...mo.map(e=>({label:e.label,keys:e.metrics}))],s=new Set(l.flatMap(e=>e.keys)),c=l.map(e=>({label:e.label,options:e.keys.filter(o).map(e=>a(e))})).filter(e=>e.options.length>0),d=hr.Rj.filter(e=>!s.has(e)&&o(e));return d.length>0&&c.push({label:"Other",options:d.map(e=>a(e))}),c}({mappingData:r,filtersInUse:n,initialFilterName:o,externallyControlledFilters:a}):function(e){let t=e.initialFilterName,r=e.externallyControlledFilters;const n=new Set(e.filtersInUse.filter(e=>e!==t)),i=co.flatMap(e=>e.keys),o=e=>!n.has(e)&&!(null!=r&&r.has(e))&&i.includes(e),a=e=>({value:e,label:nn(e)}),l=k.chartMetrics.map(e=>e.id),s=[...co,{label:"Metrics",keys:l}],c=new Set(s.flatMap(e=>e.keys)),d=s.map(e=>({label:e.label,options:e.keys.filter(o).map(e=>a(e))})).filter(e=>e.options.length>0),u=i.filter(e=>!c.has(e)&&o(e));return u.length>0&&d.push({label:"Other",options:u.map(e=>a(e))}),d}({filtersInUse:n,initialFilterName:o,externallyControlledFilters:a}),[t,r,n,o,a])}({dataDomain:o,mappingData:y,filtersInUse:a,initialFilterName:(null==l?void 0:l.attributeFilter)||"",externallyControlledFilters:d}),w=(0,B.useMemo)(()=>sn({dataDomain:o,filterName:v,additionalData:y}),[o,v,y]),S=function(e){let t=e.dataDomain,r=e.filterName,n=e.projectId,i=e.project;const o=vi((0,B.useState)(ji[t][null!=n?n:""]||{}),2),a=o[0],l=o[1],s=vi((0,B.useState)(wi[t][null!=n?n:""]||new Set),2),c=s[0],d=s[1],m=(0,B.useRef)(0),p=(0,B.useMemo)(()=>{if(i&&"lab_tests"===t){var e,r,n;const t=function(e){var t;let r=e.pageLoads,n=void 0===r?[]:r,i=e.devices,o=void 0===i?[]:i;const a=(null!=n?n:[]).reduce((e,t)=>{var r;let n=t.url,i=t.name,a=t.id,l=t.region,s=t.deviceId;const c=null===(r=(0,I.A)(n))||void 0===r?void 0:r.hostname;if(c&&e.domains.add(c),i&&e.names.add(i),a){var d;const t=null==o||null===(d=o.find(e=>e.id===s))||void 0===d?void 0:d.name;e.pages.set(a,`${null!=i?i:""} (${null!=t?t:""}, ${null!=l?l:""})`)}return l&&e.regions.add(l),e.urls.add(n),e},{urls:new Set,domains:new Set,names:new Set,pages:new Map,regions:new Set}),l=a.urls,s=a.domains,c=a.names,d=a.pages,u=a.regions,m=o.slice().sort((e,t)=>xi(e.name,t.name)).map(e=>String(e.id)),p=new Set(null!==(t=null==n?void 0:n.flatMap(e=>e.tags).filter(e=>"string"==typeof e))&&void 0!==t?t:[]);return{pageLoad_url:Array.from(l).sort(xi),pageLoad_domain:Array.from(s).sort(xi),pageLoad_name:Array.from(c).sort(xi),pageLoadId:Array.from(d.entries()).sort((e,t)=>xi(vi(e,2)[1],vi(t,2)[1])).map(e=>{let t=vi(e,1)[0];return String(t)}),pageLoad_deviceId:m,pageLoad_tags:Array.from(p).sort(xi),pageLoad_region:Array.from(u).sort(xi),pageLoad_deviceType:Array.from(new Set(o.map(e=>e.formFactor).filter(e=>"desktop"===e||"mobile"===e).sort(xi)))}}({pageLoads:i.pageLoads,devices:null!==(e=i.devices)&&void 0!==e?e:(0,hi.A)((0,fi.A)("id"),null!==(r=null===(n=i.pageLoads)||void 0===n?void 0:n.map((0,fi.A)("device")))&&void 0!==r?r:[])});return Object.entries(t).reduce((e,t)=>
1{let r=vi(t,2),n=r[0],i=r[1];return{...e,[n]:i.map(e=>({label:e,value:e}))}},{})}return null},[i,t]),g=null!=n?n:null==i?void 0:i.id;return(0,B.useEffect)(()=>{var e;if(p)l(p);else if(r&&!(0,Vr.Dg)(r)&&!(0,k.PU)(r))if(null===(e=ji[t])||void 0===e||null===(e=e[null!=g?g:""])||void 0===e?void 0:e[r])l(ji[t][null!=g?g:""]);else if(g&&["rum","lab_tests"].includes(t)){m.current+=1;const e=m.current;d(()=>{const e=new Set(wi[t][g]);return e.add(r),wi[t][g]=e,wi[t][g]}),u.FH.customDashboards.getDashboardData({dimensionsFilters:[],fields:[{name:r,type:"dimension"},..."rum"===t?[{name:"views",type:"metric"}]:[]],dateRange:{startDate:(0,qe.A)((0,We.A)(new Date),3).toISOString(),endDate:(0,gi.A)(new Date).toISOString()},configParams:{projectId:String(g),dataType:t,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone}}).then(n=>{if(e===m.current){const e=function(e,t){const r=e.reduce((e,r)=>(t.forEach(t=>{const n=r[t];if(void 0!==n){const i=e.get(t)||new Map,o="number"==typeof r.views?r.views:0,a=i.get(String(n))||0;i.set(String(n),a+o),e.set(t,i)}}),e),new Map);return Array.from(r.entries()).reduce((e,t)=>{let r=vi(t,2),n=r[0],i=r[1];return{...e,[n]:Array.from(i.entries()).sort((e,t)=>{let r=vi(e,2)[1];return vi(t,2)[1]-r}).map(e=>{let t=vi(e,1)[0];return{label:t,value:t}}).slice(0,100)}},{})}(n,[r]);ji[t][g]={...ji[t][g],...e},l(ji[t][g])}}).catch(e=>{console.log("Error fetching filter value options:",e)}).finally(()=>{e===m.current&&d(()=>{const e=new Set(wi[t][g]);return e.delete(r),wi[t][g]=e,wi[t][g]})})}},[g,r,t,p]),(0,B.useMemo)(()=>({get:e=>{var r;return a[e]||(null===(r=ji[t])||void 0===r||null===(r=r[null!=g?g:""])||void 0===r?void 0:r[e])||yi},status:e=>c.has(e)?"loading":"idle"}),[a,c,t,g])}({projectId:null!=r?r:null==n?void 0:n.id,project:n,dataDomain:o,filterName:v}),_=S.get(v),C=so[w.dataType],A=(0,B.useCallback)(e=>{var t;const r=Array.isArray(e.filterValue)?e.filterValue.map(e=>{return"number"===w.dataType?"null"===(t=e)?"null":Number.isNaN(Number(t))||""===t?void 0:Number(t):String(null!=e?e:"");var t}):[String(null!==(t=e.filterValue)&&void 0!==t?t:"")];s({filterName:e.attributeFilter||"",filterValue:r,filterQueryType:e.filterQueryType,dataType:w.dataType}),c()},[s,c,w.dataType]);var N,T;return(0,W.jsx)(pi.A,{anchorElement:null!=m?m:null,anchorAlignment:g,onClose:c,onClick:h,className:"filter-popover bg-white1",children:(0,W.jsx)(U.l1,{initialValues:l||{},onSubmit:A,children:(0,W.jsx)(oo,{flattenFilterAttributeList:t,dataDomain:o,filtersInUse:a,filterNameOptions:j,filterValueOptions:_,filterValueOptionsStatus:S.status(v),filterOptionHelper:w,onCancel:c,onChange:x,filterTypeOptions:C})})})}var fo=r(38404),vo=r(61712),bo=r(84528),xo=r(20134),yo={};function jo(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function wo(e){let t=e.savedFilters,r=e.savedFilter,n=e.onFilterSelected,i=e.renderInPortal;const o=B.useContext(l.v),a=o.project,s=o.patchProjectState,c=(p=B.useState(""),g=2,function(e){if(Array.isArray(e))return e}(p)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(p,g)||function(e,t){if(e){if("string"==typeof e)return jo(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?jo(e,t):void 0}}(p,g)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=c[0],m=c[1];var p,g;return(0,W.jsx)(vo.r,{title:r?r.name:"No Saved Filter",background:"light",grayOptionVariant:!r,grayOptionActiveVariant:!!r,"data-testid":"saved-filters-dropdown-trigger",renderInPortal:i,children:e=>{let o=e.onClose;return(0,W.jsxs)(B.Fragment,{children:[0===t.length&&(0,W.jsx)("div",{className:"p-3 scale-small-1",style:{lineHeight:"1.5em"},children:"You don't have any saved filters yet."}),r&&(0,W.jsxs)("div",{className:"px-2 mb-2 "+(i?"pt-2":"mt-2"),children:[(0,W.jsx)("div",{className:"scale-small-1 color-coldGrey1 font-weight-500 text-uppercase",children:(0,W.jsxs)("div",{className:"d-flex align-items-center",children:["Active Filter",(0,W.jsx)("div",{className:"ml-auto",children:(0,W.jsxs)("button",{type:"button",onClick:()=>{n(""),o()},className:"opacity-0.5 hover:opacity-1 saved-filters-dropdown__clear-button",children:[(0,W.jsx)(Mi.d,{size:8})," Clear"]})})]})}),(0,W.jsxs)("div",{className:"d-flex align-items-center mt-2",children:[(0,W.jsx)("div",{className:"scale-small-1 color-coldGrey2",children:r.name}),(0,W.jsx)("div",{className:"ml-auto",children:(0,W.jsx)("button",{type:"button","data-testid":"delete-saved-filter-button",style:{background:"transparent",border:"none",cursor:"pointer"},className:"opacity-0.5 hover:opacity-1",onClick:()=>
1{return e=o,void(r&&confirm(`Do you want to delete the "${r.name}" saved filter?`)&&u.FH.deleteSavedFilter(r.id).then(()=>{n("");const i=t.filter(e=>e.id!==r.id);(0,fo.co)(r.projectId,{savedFilters:i}),a&&a.id===r.projectId&&s({...a,savedFilters:i}),e()}));var e},children:(0,W.jsx)(bo.u,{height:8})})})]})]}),t.length>5&&(0,W.jsx)("div",{className:`px-2 mb-2 ${!r&&i?"p":"m"}t-2`,children:(0,W.jsx)(So,{search:d,onChange:e=>m(e)})}),(0,W.jsx)("div",{style:{maxHeight:400,overflow:"auto",borderTop:"1px solid var(--grey5)"},children:t.map(e=>(0,W.jsx)("button",{type:"button",className:Ti()("saved-filters-dropdown__option",{"saved-filters-dropdown__option--active":r&&e.id===r.id,"d-none":d&&!(e.name||"").toLowerCase().includes(d.toLowerCase())}),onClick:()=>{n(String(e.id)),o()},children:e.name},e.id))})]})}})}function So(e){let t=e.search,r=e.onChange;const n=B.useRef(null);return B.useEffect(()=>{n.current&&n.current.focus()},[]),(0,W.jsx)("input",{ref:n,type:"search",className:"saved-filters-dropdown__search-input",value:t,onChange:e=>r(e.target.value),placeholder:"Search saved filters"})}yo.styleTagTransform=ve(),yo.setAttributes=pe(),yo.insert=ue().bind(null,"head"),yo.domAPI=ce(),yo.insertStyleElement=he(),le()(xo.A,yo),xo.A&&xo.A.locals&&xo.A.locals;var _o=r(58956),ko={};function Co(e){let t=e.filters,r=e.onDelete,n=e.onClick,i=e.editingId;return t.length?(0,W.jsx)("ul",{className:"filter-list",children:t.map(e=>(0,W.jsx)(Ao,{id:e.id,label:e.label,value:e.value,rawValue:e.rawValue,testId:e.testId,onDelete:r,onClick:n,isEditing:i===e.id,filterType:e.filterType},e.id))}):null}function Ao(e){let t=e.id,r=e.label,n=e.value,i=e.testId,o=e.onDelete,a=e.onClick,l=e.isEditing,s=e.filterType;return(0,W.jsxs)("li",{className:`d-flex align-items-center filter-list__item${a?" filter-list__item--clickable":""}${l?" filter-list__item--editing":""}`,children:[(0,W.jsxs)("button",{onClick:a?e=>{a&&(e.stopPropagation(),e.preventDefault(),a(t,e.currentTarget))}:void 0,className:"filter-list__edit-label","data-testid":`edit-${i}`,children:[(0,W.jsxs)("span",{children:[r,":"]}),(0,W.jsx)(Io,{type:s}),(0,W.jsx)("span",{className:"filter-list__values",children:n})]}),(0,W.jsx)(ur.K,{icon:"cancel",size:10,onClick:e=>{e.stopPropagation(),o(t)},hoverColor:"red1",className:"filter-list__remove-button","data-testid":`delete-${i}`})]})}ko.styleTagTransform=ve(),ko.setAttributes=pe(),ko.insert=ue().bind(null,"head"),ko.domAPI=ce(),ko.insertStyleElement=he(),le()(_o.A,ko),_o.A&&_o.A.locals&&_o.A.locals;const No={is:"",isNot:"Not",matches:"Matches",doesNotMatch:"Does Not Match"};function Io(e){let t=e.type;const r=No[t];return r?(0,W.jsx)("span",{className:"filter-list__value",children:r}):null}function To(e){let t=e.savedFilter,r=e.onSaveNewFilter,n=e.onUpdateFilter,i=e.canEditProject;return(0,W.jsx)(vo.r,{background:"light",title:"Save Filters",Trigger:e=>{let t=e.onClick,r=e.title;return(0,W.jsx)(mi,{title:r,"data-testid":"save-filters-dropdown-trigger",onClick:t,disabled:!i,children:(0,W.jsx)("span",{"data-testid":"save-rum-filters-button",children:"Save"})})},children:e=>{let i=e.onClose;return(0,W.jsxs)(W.Fragment,{children:[!!t&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(U.l1,{initialValues:{},onSubmit:async(e,t)=>{await n({closeDropdown:i}),t.setSubmitting(!1)},children:e=>{let r=e.handleSubmit,n=e.isSubmitting;return(0,W.jsxs)("form",{onSubmit:r,className:"px-2 py-3",children:[(0,W.jsx)("label",{className:"mt-0 mb-1",children:t.name}),(0,W.jsx)(v.b,{isSubmitting:n,title:"Save",small:!0,block:!0,"data-testid":"saved-filters-dropdown-update-button"})]})}}),(0,W.jsx)("p",{style:{marginBottom:0,textAlign:"center",color:"#9f9f9f"},children:"or"})]}),(0,W.jsx)(U.l1,{initialValues:{name:""},onSubmit:async(e,t)=>{await r({name:e.name,closeDropdown:i}),t.setSubmitting(!1)},children:e=>{let r=e.handleSubmit,n=e.isSubmitting;return(0,W.jsxs)("form",{className:"px-2 py-3",onSubmit:r,children:[(0,W.jsx)(yt.u,{name:"name",label:"Filter Name",validate:xt.mw,showValidationMessage:!0,"data-testid":"rum-saved-filters-form-name",placeholder:"Chrome + UK",fieldClassName:"regular",labelMarginTop:0,disabled:n,autoFocus:!0}),(0,W.jsx)(v.J,{small:!0,block:!0,isSubmitting:n,"data-testid":"saved-filters-dropdown-save-button",title:t?"Save As New":"Save Filters"})]})}})]})}})}var Do=r(10259);function Po(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Fo=e=>"string"==typeof e?e.trim():e,Mo=e=>"string"==typeof e?!!e.trim():null!=e;function Oo(e){return Object.fromEntries(e.flatMap(e=>{const t=jn[e.id]||e.id,r=`${t}_type`,n=(Array.isArray(e.rawValue)?e.rawValue:[e.rawValue]).map(Fo).filter(Mo);return[[t,Array.isArray(e.rawValue)?n:n[0]],..."is"===e.filterType?[]:[[r,e.filterType]]]}).filter(e=>{return(t=e,r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(t,r)||function(e,t){if(e){if("string"==typeof e)return Po(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Po(e,t):void 0}}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[1].length>0;var t,r}))}function Lo(e){let t=e.project,r=e.editingFilterName,n=e.filters,i=e.onClickFilterItem,o=e.onClickDeleteFilterItem,a=e.savedFilter,s=e.onClearFilters,c=e.onSaveFilters,d=e.onAfterSaveFilters;const m=(0,l.O)().patchProjectState,p=(0,B.useMemo)(()=>{if(!a)return!1;const e=Oo(n);return(0,Do.A)(e,a.filters)},[n,a]),g=async e=>(m({id:t.id,savedFilters:[...(t.savedFilters||[]).filter(t=>t.id!==e.id),e].sort((e,t)=>e.name.toLocaleLowerCase().localeCompare(t.name.toLocaleLowerCase()))}),e);return t?(0,W.jsxs)("div",{className:"d-flex gap-xxsm",children:[(0,W.jsx)(Co,{filters:n,onDelete:o,editingId:r,onClick:i}),(0,W.jsxs)("div",{className:"d-flex ",children:[n.length>0&&!p?(0,W.jsx)(To,{savedFilter:a,onSaveNewFilter:async e=>{let r=e.name,i=e.closeDropdown;await u.FH.createSavedFilter(t.id,{name:r,type:"lab",filters:Oo(n)}).then(g).then(e=>{e&&(i(),c(e),null==d||d(e))})},onUpdateFilter:async e=>{let t=e.closeDropdown;await u.FH.updateSavedFilter(a.id,{filters:Oo(n)}).then(g).then(e=>{e&&(t(),c(e),null==d||d(e))})},canEditProject:t.canEdit}):null,n.length>0?(0,W.jsx)(mi,{"data-testid":"clear-filters-button",onClick:()=>s(n),children:"Clear"}):null]})]}):null}function Eo(e){var t,r;let n=e.filters,i=e.project,o=e.onDelete,a=e.editingFilterName,l=e.onClickFilter,s=e.externallyControlledFilters,c=void 0===s?new Set:s;const d=vn(n.filter(e=>{let t=e.filterName;return!c.has(t)}),{dataDomain:"rum",testIdPrefix:"rum-filter",additionalData:{rumPageGroups:null===(t=i.rumSnippet)||void 0===t?void 0:t.rumPageGroups,rumCustomMappings:null===(r=i.rumSnippet)||void 0===r?void 0:r.rumCustomMappings}});return(0,W.jsx)("div",{children:(0,W.jsx)(Co,{filters:d,onDelete:o,onClick:l,editingId:a})})}var Ro=r(77678),Uo=r(37239),Bo=r(26996);function $o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Vo(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Vo(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vo(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Ho(e){let t=e.project,r=e.globalFilters,n=e.onSaveFilters;ai();const i=(0,$.Zp)(),o=(0,d.u)(),a=$o((0,B.useState)("idle"),2),l=a[0],s=a[1],c=(0,B.useRef)([]),u=(0,B.useCallback)(async()=>{if("idle"===l)try{s("saving"),await n(),s("saved")}catch{s("error")}finally{const e=setTimeout(()=>{s("fading"),c.current=c.current.filter(t=>t!==e)},1500),t=setTimeout(()=>{s("idle"),c.current=c.current.filter(e=>e!==t)},1800);c.current.push(e,t)}},[n,l]);(0,B.useEffect)(()=>()=>{c.current.forEach(clearTimeout)},[]);const m=(0,B.useMemo)(()=>{const e=null!=r?r:{},t=e.rum,n=void 0===t?{}:t,i=e.lab,a=void 0===i?{}:i,l={};Object.entries(n).forEach(e=>{let t=$o(e,2),r=t[0],n=t[1];return l[`${Wn}${r}`]=n}),Object.entries(a).forEach(e=>{let t=$o(e,2),r=t[0],n=t[1];return l[`${Gn}${r}`]=n});for(const e of Object.entries(l)){var s=$o(e,2);const t=s[0],r=s[1],n=o[t];if((Array.isArray(r)?r.slice().sort().join(","):r)!==(Array.isArray(n)?n.slice().sort().join(","):null!=n?n:""))return!0}for(const e of Object.keys(o))if((e.startsWith(Wn)&&e!==`${Wn}device`||e.startsWith(Gn)&&e!==`${Gn}
1pageLoad_deviceType`)&&!(e in l))return!0;return!1},[r,o]),p=(0,B.useCallback)(()=>{const e=null!=r?r:{},t=e.rum,n=void 0===t?{}:t,a=e.lab,l=void 0===a?{}:a,s=Object.fromEntries(Object.keys(o).filter(e=>e.startsWith(Wn)&&e!==`${Wn}device`||e.startsWith(Gn)&&e!==`${Gn}formFactor`).map(e=>[e,void 0])),c={};Object.entries(n).forEach(e=>{let t=$o(e,2),r=t[0],n=t[1];return c[`${Wn}${r}`]=n}),Object.entries(l).forEach(e=>{let t=$o(e,2),r=t[0],n=t[1];return c[`${Gn}${r}`]=n}),i((0,_.Ao)(window.location.pathname+window.location.search,{...s,...c}))},[i,r,o]);return(0,W.jsxs)("div",{className:"d-flex",children:[(0,W.jsxs)("div",{className:"dashboard-filters",children:[(0,W.jsx)(Go,{project:t}),(0,W.jsx)(Wo,{project:t})]}),(0,W.jsxs)("div",{className:"d-flex justify-content-start gap-xsm flex-column align-items-end",children:[t.canEdit&&(0,W.jsx)("button",{type:"button",className:"save-filters-button","data-testid":"save-filters-to-dashboard-button",onClick:()=>m&&u(),disabled:!m,style:{opacity:m||"idle"!==l&&"fading"!==l?1:0,transition:"opacity 0.2s",cursor:m&&"idle"===l?"pointer":"default"},children:(0,W.jsx)(zo,{saveState:l})}),(0,W.jsx)(mi,{"data-testid":"reset-filters-to-defaults-button",onClick:()=>m&&p(),style:{opacity:m?1:0,transition:"opacity 0.2s",cursor:m?"pointer":"default",height:"auto"},disabled:!m,children:"Reset Filters"})]})]})}function Wo(e){let t=e.project;const r=(0,Or.n)(),n=r.addFilter,i=r.removeFilter,o=r.clearFilters,a=r.applySavedFilter,l=r.saveAsNewFilter,s=r.updateSavedFilter,c=r.rumSavedFilters,d=r.selectedSavedFilter,u=r.filterSettings.propertyFilters,m=u.map(e=>e.filterName),p=$o((0,B.useState)(null),2),g=p[0],h=p[1],f=$o((0,B.useState)(null),2),v=f[0],b=f[1],x=(0,B.useRef)(null),y=g?u.find(e=>e.filterName===g):null,j=(0,B.useCallback)(e=>{let t=e.filterName,r=e.filterValue,o=e.filterQueryType;const a=null==y?void 0:y.filterName;a&&a!==t&&i(a),n(t,r.map(e=>null==e?null:String(e)),o),h(null),b(null)},[n,i,null==y?void 0:y.filterName]);return(0,W.jsxs)("div",{className:"dashboard-filters__row",children:[(0,W.jsxs)("span",{className:"dashboard-filters__label label mt-0 d-flex align-items-center gap-xxsm",children:[(0,W.jsx)(Ro.k,{})," RUM Filters"]}),(0,W.jsxs)("div",{className:"d-flex align-items-center gap-xsm",children:[(0,W.jsx)(wo,{savedFilters:c,savedFilter:d,onFilterSelected:a}),(0,W.jsx)(mi,{ref:x,"data-testid":"add-rum-filter-button",onClick:()=>{h("__new__"),b(x.current)},children:"+ Add Filter"}),u.length>0&&(0,W.jsxs)(W.Fragment,{children:[l&&s&&(0,W.jsx)(To,{savedFilter:d,onSaveNewFilter:async e=>{let t=e.name,r=e.closeDropdown;await l(t),r()},onUpdateFilter:async e=>{let t=e.closeDropdown;await s(),t()},canEditProject:t.canEdit}),(0,W.jsx)(mi,{"data-testid":"clear-rum-filters-button",onClick:()=>{o([]),h(null),b(null)},children:"Clear"})]})]}),(0,W.jsx)(Eo,{project:t,filters:u,editingFilterName:g,onDelete:e=>{i(e),g===e&&(h(null),b(null))},onClickFilter:(e,t)=>{const r=g===e;h(r?null:e),b(r?null:t)}}),g?(0,W.jsx)(ho,{project:t,dataDomain:"rum",filtersInUse:m,initialFilter:{attributeFilter:"__new__"===g?"":g,filterValue:cn(null==y?void 0:y.filterName,null==y?void 0:y.filterValue),filterQueryType:null==y?void 0:y.filterType},onApply:j,onCancel:()=>{h(null),b(null)},anchorElement:v}):null]})}function Go(e){let t=e.project;const r=(0,$.Zp)(),n=zn((0,d.u)(),Gn),i=t.savedFilters.filter(e=>"lab"===e.type),o=n.filterId,a=i.find(e=>e.id.toString()===String(o)),l=xn(hn(n,null==a?void 0:a.filters),t),s=l.map(e=>e.id),c=$o((0,B.useState)(""),2),u=c[0],m=c[1],p=$o((0,B.useState)(null),2),g=p[0],h=p[1],f=(0,B.useRef)(null),v=l.find(e=>e.id===u||e.id===yn(u)),b=(0,B.useCallback)(e=>{r((0,_.Ao)(window.location.pathname+window.location.search,qn(e,Gn)))},[r]);return(0,W.jsxs)("div",{className:"dashboard-filters__row",children:[(0,W.jsxs)("span",{className:"dashboard-filters__label label mt-0 d-flex align-items-center gap-xxsm",children:[(0,W.jsx)(Uo.j,{})," Lab Filters"]}),(0,W.jsxs)("div",{className:"d-flex align-items-center gap-xsm",children:[(0,W.jsx)(wo,{savedFilters:i,savedFilter:a,onFilterSelected:e=>b({filterId:e||void 0})}
1),(0,W.jsx)(mi,{ref:f,"data-testid":"add-lab-filter-button",onClick:()=>{m("__new__"),h(f.current)},children:"+ Add Filter"})]}),(0,W.jsx)(Lo,{project:t,filters:l,editingFilterName:u,onClickFilterItem:(e,t)=>{m(e),h(t)},onClickDeleteFilterItem:e=>{var t;const r=yn(e),n=null==a||null===(t=a.filters)||void 0===t?void 0:t[r];b({[r]:n?"":void 0,[`${r}_type`]:void 0,currentPage:void 0})},savedFilter:a,onClearFilters:e=>{b({filterId:void 0,...Object.fromEntries(e.flatMap(e=>{const t=yn(e.id);return[[t,void 0],[`${t}_type`,void 0]]}))}),m(""),h(null)},onSaveFilters:()=>{},onAfterSaveFilters:e=>{b({filterId:String(e.id)})}}),u?(0,W.jsx)(ho,{flattenFilterAttributeList:!0,project:t,dataDomain:"lab_tests",filtersInUse:s,initialFilter:{attributeFilter:"__new__"===u?"":u,filterValue:v?Array.isArray(v.rawValue)?v.rawValue:[v.rawValue]:[],filterQueryType:null==v?void 0:v.filterType},onApply:e=>{var t;let r=e.filterName,n=e.filterValue,i=e.filterQueryType;const o=`${yn(r)}_type`;m(""),h(null),b({[yn(r)]:n.map(String),[o]:"is"!==i||"is"!==(null!==(t=null==a?void 0:a.filters[o])&&void 0!==t?t:"is")?i:void 0,currentPage:void 0})},onCancel:()=>{m(""),h(null)},anchorElement:g}):null]})}function zo(e){let t=e.saveState;const r=(0,B.useRef)(t);(0,B.useEffect)(()=>{r.current=t},[t]);let n=null;const i="idle"!==t;return i&&("saving"===t?n=(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(kt.v,{size:12}),(0,W.jsx)("span",{className:"ml-1",children:"Saving"})]}):"error"===t||"fading"===t&&"error"===r.current?n=(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Bo.I,{size:12,fill:"var(--white1)",circleProps:{fill:"var(--red1)",stroke:"var(--red1)"},xProps:{stroke:"var(--white1)"}}),(0,W.jsx)("span",{className:"ml-1",children:"Failed"})]}):("saved"===t||"fading"===t&&"saved"===r.current)&&(n=(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(mr._,{size:12,circleProps:{stroke:"var(--green1)",fill:"var(--green1)"},checkProps:{stroke:"var(--white1)"}}),(0,W.jsx)("span",{className:"ml-1",children:"Saved"})]}))),(0,W.jsxs)("span",{style:{position:"relative",display:"inline-flex",alignItems:"center"},children:[(0,W.jsx)("span",{style:{visibility:i?"hidden":"visible"},children:"Save Dashboard Filter"}),i&&(0,W.jsx)("span",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center"},children:n})]})}
1var qo=r(43534),Xo={};Xo.styleTagTransform=ve(),Xo.setAttributes=pe(),Xo.insert=ue().bind(null,"head"),Xo.domAPI=ce(),Xo.insertStyleElement=he(),le()(qo.A,Xo),qo.A&&qo.A.locals&&qo.A.locals;var Ko=r(80062),Yo=r(45899);const Jo="__other__",Qo=(e,t)=>`${e}::${t}`;function Zo(e){return e.length>0?e:["p75"]}function ea(e){return"scatter"===e?20:5}const ta={name:"fcp",type:"metric"},ra={name:"firstContentfulPaint",type:"metric"},na={name:"durationDependentBucketTimestamp",type:"dimension"},ia={name:"browser",type:"dimension"},oa={name:"pageLoadId",type:"dimension"},aa={metric(e){let t=e.projectId,r=e.dataType,n=void 0===r?"rum":r;return{type:"metric",series:[{metricFields:["rum"===n?ta:ra],dimensionsFilters:[],configParams:{dataType:n,projectId:t},aggregationFunctions:["p75"]}],displayOptions:{title:"",series:[{includePreviousPeriodComparison:!1}]}}},"timeseries-chart"(e){let t=e.projectId,r=e.dataType,n=void 0===r?"rum":r;return{type:"timeseries-chart",series:[{metricFields:["rum"===n?ta:ra],timeDimension:na,aggregationFunctions:["p75"],dimensionsFilters:[],configParams:{dataType:n,projectId:t}}],displayOptions:{title:""}}},"bar-chart"(e){let t=e.projectId,r=e.dataType,n=void 0===r?"rum":r;return{type:"bar-chart",series:[{metricFields:["rum"===n?ta:ra],groupByDimensions:["rum"===n?ia:oa],aggregationFunctions:["p75"],dimensionsFilters:[],configParams:{dataType:n,projectId:t}}],displayOptions:{title:""}}},table(e){let t=e.projectId,r=e.dataType,n=void 0===r?"rum":r;return{type:"table",series:[{metricFields:["rum"===n?ta:ra],groupByDimensions:"rum"===n?[ia]:[oa],aggregationFunctions:["p75"],dimensionsFilters:[],configParams:{dataType:n,projectId:t}}],displayOptions:{title:"",sortByColumn:ia.name,sortOrder:"ascending"}}},text:e=>({series:[{metricFields:[],aggregationFunctions:["p75"],dimensionsFilters:[],configParams:{projectId:e.projectId,dataType:"rum"}}],type:"text",displayOptions:{title:"",content:""}}),histogram(e){let t=e.projectId,r=e.dataType,n=void 0===r?"rum":r;return{type:"histogram",series:[{metricFields:["rum"===n?ta:ra,"rum"===n?{name:"cls",type:"metric"}:{name:"cumulativeLayoutShift",type:"metric"}],aggregationFunctions:["p75"],dimensionsFilters:[],configParams:{dataType:n,projectId:t,bucketCount:40}}],displayOptions:{title:""}}},scatter(e){let t=e.projectId,r=e.dataType,n=void 0===r?"rum":r;return{type:"scatter",series:[{metricFields:[{name:"ttfb",type:"metric"},"rum"===n?{name:"lcp",type:"metric"}:{name:"largestContentfulPaint",type:"metric"}],groupByDimensions:["rum"===n?ia:oa],aggregationFunctions:["p75"],dimensionsFilters:[],configParams:{dataType:n,projectId:t}}],displayOptions:{title:""}}}};r(12041);var la=r(7767);function sa(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ca(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ca(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ca(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function da(e,t,r){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}
1const ua=new class{constructor(){da(this,"cache",new Map),da(this,"cleanupIntervalId",null),da(this,"CLEANUP_INTERVAL_MS",6e4),da(this,"MAX_CACHE_AGE_MS",36e5),this.startCleanupInterval()}getCacheKey(e){return JSON.stringify({fields:e.fields,dimensionsFilters:e.dimensionsFilters,dateRange:e.dateRange,aggregationFunction:e.aggregationFunction,configParams:e.configParams})}async getOrFetch(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const n=this.getCacheKey(e),i=this.cache.get(n);if(i){if(!r||!i.interval)return i.promise?i.promise:i.data;{const e=Ye(r),t={from:e.from.toISOString(),to:e.to.toISOString()};if(t.from===i.dateRange.from&&t.to===i.dateRange.to)return i.promise?i.promise:i.data;this.cache.delete(n)}}const o=ma.add(t,[]).result,a={from:e.dateRange.startDate,to:e.dateRange.endDate};this.cache.set(n,{data:null,promise:o,interval:r,dateRange:a,createdAt:Date.now()});try{const e=await o,t=this.cache.get(n);return t&&(t.data=e,t.promise=null),e}catch(e){throw this.cache.delete(n),e}}startCleanupInterval(){"undefined"!=typeof window&&(this.cleanupIntervalId=window.setInterval(()=>{this.cleanup()},this.CLEANUP_INTERVAL_MS))}cleanup(){const e=Date.now(),t=[];for(const n of this.cache.entries()){var r=sa(n,2);const i=r[0],o=r[1];if(e-o.createdAt>this.MAX_CACHE_AGE_MS)t.push(i);else if(o.interval&&null===o.promise)try{const e=Ye(o.interval),r={from:e.from.toISOString(),to:e.to.toISOString()};r.from===o.dateRange.from&&r.to===o.dateRange.to||t.push(i)}catch(e){t.push(i)}}for(const e of t)this.cache.delete(e)}clear(){this.cache.clear()}destroy(){null!==this.cleanupIntervalId&&(clearInterval(this.cleanupIntervalId),this.cleanupIntervalId=null),this.cache.clear()}getStats(){return{size:this.cache.size,entries:Array.from(this.cache.entries()).map(e=>{let t=sa(e,2),r=t[0],n=t[1];return{key:r,interval:n.interval,dateRange:n.dateRange,createdAt:new Date(n.createdAt).toISOString(),isInFlight:null!==n.promise}})}}},ma=new class{constructor(e){let t=e.concurrency,r=void 0===t?1:t;da(this,"activeRequests",0),this.queue=[],this.concurrency=r}async processQueue(){for(;this.queue.length>0&&this.activeRequests<this.concurrency;){const e=this.queue.shift();if(e){const t=e.makeRequest,r=e.params,n=e.resolve,i=e.reject;this.activeRequests++;try{n(await t(...r))}catch(e){i(e)}finally{this.activeRequests--,this.processQueue()}}}}add(e,t){const r=Math.round(Math.random()*Number.MAX_SAFE_INTEGER).toString();return{id:r,result:new Promise((n,i)=>{this.queue.push({id:r,makeRequest:e,params:t,resolve:n,reject:i}),this.processQueue()})}}remove(e){const t=this.queue.findIndex(t=>t.id===e);-1!==t&&(0,sa(this.queue.splice(t,1),1)[0].reject)(new Error("Request removed from queue"))}clear(){for(const e of this.queue)e.reject(new Error("Queue cleared"));this.queue=[]}}({concurrency:5});function pa(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ga(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ga(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ga(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ha(e,t,r){var n,i;const o=null==t?void 0:t[String(null===(n=e.configParams)||void 0===n?void 0:n.projectId)];return o?null!==(i=o.savedFilters)&&void 0!==i?i:[]:r}function fa(e){let t=e.series,r=e.interval,n=e.enabled,i=void 0===n||n,o=e.type,a=e.projects;const s=(0,l.O)().project,c=(0,B.useMemo)(()=>{var e;return null!==(e=null==s?void 0:s.savedFilters)&&void 0!==e?e:[]},[null==s?void 0:s.savedFilters]),d=ai(),m=pa((0,B.useState)(null),2),p=m[0],g=m[1],h=pa((0,B.useState)(!1),2),f=h[0],v=h[1],b=pa((0,B.useState)(null),2),x=b[0],y=b[1],j=pa((0,B.useState)(null),2),w=j[0],S=j[1],_=pa((0,B.useState)(!1),2),A=_[0],N=_[1],I=pa((0,B.useState)({series:t,interval:r,expandedSeriesMap:t.map((e,t)=>t)}),2),T=I[0],D=I[1],P=(0,B.useRef)(null),F=(0,B.useRef)(0),M=(0,B.useCallback)(async()=>{const e=++F.current;if(!i||!t.length)return g([]),N(!1),D({series:[],interval:r,expandedSeriesMap:[]}),y(null),S("No series configured. Add a series to see data."),void v(!1);if(t.some(e=>!e.metricFields.length))return g([]),N(!1),D({series:[],interval:r,expandedSeriesMap:[]}),y(null),S("One or more series have no selected metrics. Add metrics or remove the empty series to see data"),void v(!1);if(t.some(e=>{var t;return!(null!==(t=e.aggregationFunctions)&&void 0!==t&&t.length)}))return g([]),N(!1),D({series:[],interval:r,expandedSeriesMap:[]}),y(null),S("One or more series have no selected aggregation function. Select aggregation functions to see data."),void v(!1);v(!0),y(null),S(null);try{const n=Ye(r),i={from:n.from.toISOString(),to:n.to.toISOString()};P.current=i;const l=[],s=t.flatMap((e,t)=>Zo(e.aggregationFunctions).map(n=>{var i,o;l.push(t);const s={...e,aggregationFunctions:[n]},d=null!==(i=null===(o=e.configParams)||void 0===o?void 0:o.dataType)&&void 0!==i?i:In(e),u=ni(e,d,ha(e,a,c));return a&&s.timeDimension&&function(e,t,r){var n,i,o,a,l;if("durationDependentBucketTimestamp"!==(null===(n=e.timeDimension)||void 0===n?void 0:n.name))return!1;if("lab_tests"!==(null!==(i=null===(o=e.configParams)||void 0===o?void 0:o.dataType)&&void 0!==i?i:In(e)))return!1;const s=Ye(t),c=s.from,d=s.to;if(Math.abs(d.getTime()-c.getTime())<=Pn)return!1;const u=r[String(null===(a=e.configParams)||void 0===a?void 0:a.projectId)];if(null==u||null===(l=u.pageLoads)||void 0===l||!l.length)return!1;const m=function(e,t){if(null==t||!t.length)return;const r=function(e){const t={};for(const r of e)for(const e of r){const r=e.fieldName,n=e.type,i=e.operator,o=e.values;if(!Array.isArray(o)||0===o.length)continue;const a=null!=i&&i.includes("REGEXP")?"EXCLUDE"===n?"doesNotMatch":"matches":"EXCLUDE"===n?"isNot":"is";switch(r){case"pageLoadId":t.pageLoadId=o,t.pageLoadId_type=a;break;case"device":t.device=o,t.device_type=a;break;case"name":t.name=o,t.name_type=a;break;case"url":t.url=o,t.url_type=a;break;case"domain":t.domain=o,t.domain_type=a;break;case"tag":t.tag=o,t.tag_type=a;break;case"pageLoad_deviceType":t.pageLoad_deviceType=o,t.pageLoad_deviceType_type=a}}return Object.keys(t).length>0?t:null}(t);if(!r)return;const n=(0,C.nF)(e,r);return n.length>0?n:void 0}(u.pageLoads,e.dimensionsFilters),p=null!=m?m:u.pageLoads;return!!p.length&&function(e){let t=0,r=0;for(const i of e){var n;const e=null===(n=i.pageTestSchedules)||void 0===n||null===(n=n[0])||void 0===n?void 0:n.testSchedule;e&&(r++,e.everyNHours>=168&&t++)}return 0!==r&&t/r>=.8}(p)}({...s,dimensionsFilters:u},r,a)?{...s,timeDimension:{name:"createdAtYearWeekTimestamp",type:"dimension"}}:s})),m=await Promise.allSettled(s.map(e=>{var t,i,l,s,m;if(null===(t=e.metricFields[0])||void 0===t||!t.name)return Promise.resolve(null);const p=null!==(i=e.configParams)&&void 0!==i&&i.dateRangeOffset?function(e,t,r){if((0,oe.Wd)(e))return va(t,oe.XB[e](new Date)*r);const n=t.to.getTime()-t.from.getTime();return va(t,n*r)}(r,n,e.configParams.dateRangeOffset):n,g=Number(null===(l=e.configParams)||void 0===l?void 0:l.projectId),h=function(e,t,r){const n=[];return e.metricFields&&n.push(...e.metricFields),"rum"!==e.configParams.dataType||e.metricFields.some(e=>"views"===e.name)||n.push({name:"views",type:"metric"}),e.groupByDimensions&&n.push(...e.groupByDimensions),e.timeDimension&&Hn(r)&&n.push(Dn(t,e.timeDimension)),n}(e,r,o),f=null!==(s=null===(m=e.configParams)||void 0===m?void 0:m.dataType)&&void 0!==s?s:In(e),v=zn(d,"rum"===f?Wn:Gn),b="rum"===f?Zn(v,c):ei(v,c),x={fields:h,dimensionsFilters:[...ni(e,f,ha(e,a,c)),...b],dateRange:{startDate:p.from.toISOString(),endDate:p.to.toISOString()},aggregationFunction:e.aggregationFunctions[0],configParams:{projectId:String(g),dataType:f}};return ua.getOrFetch(x,()=>u.FH.customDashboards.getDashboardData(x),r)}));if(e!==F.current)return;const p=m.map(e=>"fulfilled"===e.status?e.value:null),h=p.some(e=>null!==e),f=m.filter(e=>{var t;return"rejected"===e.status&&/Unauthorized|Forbidden/i.test((null===(t=e.reason)||void 0===t?void 0:t.message)||"")});if(!h)return y("Failed to fetch data"),void v(!1);const b=function(e,t){return e.map((e,r)=>{if(!e||!Array.isArray(e))return e;const n=t[r];
1if(null==n||!n.metricFields)return e;const i=n.metricFields.map(e=>e.name).filter(e=>{var t;return"score"===((0,Vr.Dg)(e)?(0,hr.T5)(e):(null===(t=(0,k.Hh)(e.replaceAll("_",".")))||void 0===t?void 0:t.dataType)||"number")});return 0===i.length?e:e.map(e=>{const t={...e};return i.forEach(e=>{"number"==typeof t[e]&&null!==t[e]&&(t[e]=Math.round(100*t[e]))}),t})})}(p,s);D({series:s,interval:r,expandedSeriesMap:l}),g(b),N(f.length>0),v(!1)}catch(t){if(e!==F.current)return;console.error("Error fetching dashboard data:",t),y("Failed to fetch data"),v(!1)}},[i,r,a,c,t,o,d]);return(0,B.useEffect)(()=>{M()},[M]),{data:p,fetching:f,error:x,noFetchReason:w,hasPartialData:A,requestedSeries:T.series,requestedInterval:T.interval,expandedSeriesMap:T.expandedSeriesMap}}function va(e,t){let r=e.from,n=e.to;return{from:(0,la.A)(r,t),to:(0,la.A)(n,t)}}function ba(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return xa(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?xa(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xa(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var ya=r(46850);function ja(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return wa(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?wa(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wa(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Sa=(0,ya.A)("views","maxNumberOfGroupsCondition"),_a=(0,ya.A)("desc","maxNumberOfGroupsOrdering");function ka(e,t){var r;return{maxNumberOfGroups:null!==(r=null==e?void 0:e.maxNumberOfGroups)&&void 0!==r?r:ea(t),maxNumberOfGroupsCondition:Sa(e),maxNumberOfGroupsOrdering:_a(e)}}var Ca=r(1822),Aa=r(20191),Na=r(54673),Ia=r(82057),Ta=r(14783),Da=r(91096),Pa={};function Fa(e){let t=e.error,r=e.reason;return(0,W.jsx)("div",{className:"dashboard-item-no-content-available",children:(0,W.jsx)("div",{className:Ti()("p-3 no-data",{"text-danger":t,"text-muted":r&&!t}),children:t||r})})}function Ma(e){let t=e.chartData,r=e.hasPartialData,n=e.processData,i=e.renderChart,o=e.showSpinnerDuringUpdate,a=void 0!==o&&o,l=e.onPartialData;const s=(0,B.useRef)(null),c=(0,B.useMemo)(()=>(t.fetching||(s.current=n(t)),s.current),[t.fetching,t.data,t.displayOptions,t.groupLimits,t.projects,t.requestedSeries,n]);return(0,B.useEffect)(()=>{null==l||l(r)},[r,l]),null!=c&&c.length&&!a||!t.fetching?!c||Array.isArray(c)&&0===c.length?(0,W.jsx)(Fa,{reason:"No data available"+(0===(null==c?void 0:c.length)?" for the selected time period":"")}):i({title:t.title,processedData:c,fetching:t.fetching,hasPartialData:r}):(0,W.jsx)("div",{className:"dashboard-item-chart",children:(0,W.jsx)("div",{className:"d-flex align-items-center justify-content-center",style:{height:400},children:(0,W.jsx)(kt.v,{})})})}function Oa(e,t,r,n,i,o){var a,l,s,c,d;const u=null!==(a=null==i||null===(l=i.series)||void 0===l||null===(l=l[t])||void 0===l||null===(l=l.metricFields)||void 0===l?void 0:l[r])&&void 0!==a?a:{};if(u.title)return u.title;const m=(0,Vr.Dg)(e),p=e.startsWith("crux.")||e.startsWith("crux_"),g=m?"RUM":p?"CrUX":"Lab",h=m?(0,hr.pg)(e,null!==(s=null==n?void 0:n.rumSnippet)&&void 0!==s?s:void 0):(null===(c=(0,k.Hh)(e.replaceAll("_",".")))||void 0===c?void 0:c.title)||e;let f=(null==h?void 0:h.toLowerCase().includes(g.toLowerCase()))?h:`${h} (${g})`;return null!=o&&null!==(d=o.aggregationFunctions)&&void 0!==d&&d.length&&null!=o&&o.allSeriesStats&&(o.aggregationFunctions.length>1||new Set(o.allSeriesStats).size>1)&&(f+=` - ${o.aggregationFunctions.map(e=>e.toUpperCase()).join(", ")}`),f}Pa.styleTagTransform=ve(),Pa.setAttributes=pe(),Pa.insert=ue().bind(null,"head"),Pa.domAPI=ce(),Pa.insertStyleElement=he(),le()(Da.A,Pa),Da.A&&Da.A.locals&&Da.A.locals;const La=e=>{let t=e.chartData,r=e.hasPartialData,n=e.mappingDataByProjectId,i=e.isPreview,o=void 0!==i&&i,a=e.onPartialData;return(0,W.jsx)(Ma,{chartData:t,hasPartialData:r,onPartialData:a,processData:e=>function(e){const t=e.data,r=e.requestedSeries,i=e.projects,o=e.groupLimits,a=e.displayOptions,l=e.expandedSeriesMap;if(null==t||!t.filter(Boolean).length||!r[0])return null;const s=new Map;
1o&&o.forEach(e=>{s.set(e.seriesIndex,e.allowedGroups)});const c=[],d=[],u=new Set;let m=null;const p=r.flatMap(e=>{var t;return null!==(t=e.aggregationFunctions)&&void 0!==t&&t[0]?e.aggregationFunctions:["p75"]});t.forEach((e,t)=>{var n,o,g;if(!e)return;const h=null!==(n=l[t])&&void 0!==n?n:t,f=r[t],v=null!==(o=null===(g=f.groupByDimensions)||void 0===g||null===(g=g[0])||void 0===g?void 0:g.name)&&void 0!==o?o:"",b=Number(f.configParams.projectId),x=null==i?void 0:i[b],y=f.configParams.dataType;null!=m||(m={projectId:b,dataDomain:y,dimensionField:v});const j=s.get(h);let w=e;j&&j.length>0&&(w=e.filter(e=>{const t=null==e[v]?"null":String(e[v]);return j.includes(t)}).sort((e,t)=>{const r=null==e[v]?"null":String(e[v]),n=null==t[v]?"null":String(t[v]);return j.indexOf(r)-j.indexOf(n)})),f.metricFields.forEach((e,t)=>{var r;const n=e.name,i=(0,Vr.Dg)(n)?(0,hr.T5)(n):(null===(r=(0,k.Hh)(n))||void 0===r?void 0:r.dataType)||"number",o=Oa(n,h,t,x,a,{aggregationFunctions:f.aggregationFunctions,allSeriesStats:p}),l=new Map,s=new Map;w.forEach(e=>{var t;let r;r=v?null===e[v]||void 0===e[v]?"null":String(e[v]):"All";const i=e[n];u.has(r)||(u.add(r),d.push(r)),l.set(r,i),s.set(r,null!==(t=e.views)&&void 0!==t?t:null)}),c.push({metric:n,metricTitle:o,dataType:i,categoryToValue:l,categoryToViews:s})})});const g=d,h=g.map(e=>"All"===e?"All":m?((e,t,r,i)=>{const o=sn({dataDomain:t,additionalData:n[e],filterName:r});return(null==o?void 0:o.getValueLabel(i))||i})(m.projectId,m.dataDomain,m.dimensionField,e):e),f=c.map(e=>{const t=g.map(t=>{var r,n;return{name:t,y:null!==(r=e.categoryToValue.get(t))&&void 0!==r?r:null,views:null!==(n=e.categoryToViews.get(t))&&void 0!==n?n:null}});return{metric:e.metric,metricTitle:e.metricTitle,dataType:e.dataType,data:t}});return{categories:g,labeledCategories:h,series:f}}(e),renderChart:e=>(0,W.jsx)(Ea,{...e,isPreview:o})})};function Ea(e){let t=e.processedData;const r=(0,Aa.D)(),n=(0,B.useMemo)(()=>{const e=new Map;t.series.forEach(t=>{const r=e.get(t.dataType)||[];r.push(t),e.set(t.dataType,r)});const n=[],i=new Map;let o=0;e.forEach((e,t)=>{const r=(0,Ca.p)(t,!0);n.push({...r,title:{text:void 0},opposite:o>0}),i.set(t,o),o++});const a=t.series.map(e=>({name:e.metricTitle,data:e.data,type:"column",yAxis:i.get(e.dataType)||0})),l={colors:Ia.dy,chart:{height:null,type:"column",animation:!1,spacingBottom:t.series.length<=1?25:void 0},title:{text:void 0},credits:{enabled:!1},legend:{enabled:t.series.length>1},xAxis:{categories:t.labeledCategories,title:{text:void 0}},yAxis:n.map(e=>({...e,gridLineColor:r?"rgba(255,255,255,0.15)":"#e6e6e6"})),series:a,tooltip:{shared:!1,formatter:function(){const e=this.point.x,r=this.point.category||this.x,n=this.series.index;let i=`<span style="font-weight: 500">${r}</span><br/>`;return this.series.chart.series.forEach(r=>{const o=r.points[e];if(o&&null!==o.y){var a;const e=t.series.find(e=>e.metricTitle===r.name),l=(null==e?void 0:e.dataType)||"number",s=(0,N.Fl)(o.y,l),c=null===(a=o.options)||void 0===a?void 0:a.views,d=null!=c?` <span style="opacity: 0.6">(${c.toLocaleString()} views)</span>`:"",u=r.index===n;i+=u?`<span style="font-weight: 500">${r.name}: ${s}${d}</span><br/>`:`${r.name}: ${s}${d}<br/>`}}),i}},plotOptions:{column:{animation:!1,dataLabels:{enabled:!1}}}};return l},[t,r]);return null!=t&&t.categories.length?(0,W.jsx)("div",{className:"dashboard-item-chart",children:(0,W.jsx)("div",{className:"chart-container pt-3 px-2",children:(0,W.jsx)(Na.F,{highcharts:Ta,options:n})})}):(0,W.jsx)(Fa,{reason:"No data available for the selected time period"})}var Ra=r(43384),Ua={};Ua.styleTagTransform=ve(),Ua.setAttributes=pe(),Ua.insert=ue().bind(null,"head"),Ua.domAPI=ce(),Ua.insertStyleElement=he(),le()(Ra.A,Ua),Ra.A&&Ra.A.locals&&Ra.A.locals;const Ba=new Set(["sum"]);function $a(e){return e.toUpperCase()}function Va(e){let t=e.onClick,r=e.currentAggregationFunctions,n=e.omitStatTypes,i=void 0===n?Ba:n,o=e.uiBehaviour;const a=hr.pm.filter(e=>!i.has(e));return(0,W.jsx)("div",{style:{display:"inline-flex",position:"relative"},"data-testid":"stat-options",children:(0,W.jsx)("div",{className:"stat-options-primary-options",children:a.map(e=>{const n=r.includes(e);return(0,W.jsxs)("div",{className:Ti()("stat-option__button-container",{"stat-option__button-container--active":n&&"radio"===o,"stat-option__button-container--toggle-active":n&&"toggle"===o}),onClick:r=>{var n,i;t(e),null===(n=(i=r.target).blur)||void 0===n||n.call(i)},children:["toggle"===o?(0,W.jsx)("input",{type:"checkbox",checked:n,readOnly:!0,className:"checkbox"}):null,(0,W.jsx)("button",{type:"button","data-test-filter-button":e,className:Ti()("stat-option__button"),"data-text":e.toUpperCase(),children:e.toUpperCase()})]},e)})})})}var Ha=r(49246);function Wa(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ga(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ga(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ga(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var za=r(18928);function qa(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Xa(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Xa(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xa(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Ka=e=>{var t;let r=e.config,n=e.data,i=e.fetching,o=e.isPreview,a=void 0!==o&&o,l=e.mappingDataByProjectId;const s=(null===(t=r.displayOptions)||void 0===t?void 0:t.title)||Tn(r)||"Histogram";return(0,W.jsx)(Ya,{data:null!=n?n:[],config:r,title:s,fetching:i,isPreview:a,mappingDataByProjectId:l})};function Ya(e){var t,r,n,i,o,a,l,s,c,d,u,m,p;let g=e.data,h=e.config,f=e.fetching,v=e.mappingDataByProjectId;const b=(0,Aa.D)(),x=h.series[0],y=null!==(t=null==x||null===(r=x.metricFields[0])||void 0===r?void 0:r.name)&&void 0!==t?t:"",j=null!==(n=null===(i=(0,wn.nW)(y))||void 0===i?void 0:i.dataType)&&void 0!==n?n:"count",w=(null===(o=h.displayOptions)||void 0===o||null===(o=o.series)||void 0===o||null===(o=o[0])||void 0===o||null===(o=o.metricFields)||void 0===o||null===(o=o[0])||void 0===o?void 0:o.title)||Ja(y),S="rum"===(null==x||null===(a=x.configParams)||void 0===a?void 0:a.dataType)?"Page Views":"Count",_=(null!==(l=null==x?void 0:x.metricFields)&&void 0!==l?l:[]).map((e,t)=>({name:e.name,fieldIndex:t})).slice(1).filter(e=>"views"!==e.name),k=(e,t)=>{var r;return(null===(r=h.displayOptions)||void 0===r||null===(r=r.series)||void 0===r||null===(r=r[0])||void 0===r||null===(r=r.metricFields)||void 0===r||null===(r=r[t])||void 0===r?void 0:r.title)||Ja(e)},C=JSON.stringify(null!==(s=null==x?void 0:x.aggregationFunctions)&&void 0!==s?s:[]),A=(0,B.useMemo)(()=>Zo(null==x?void 0:x.aggregationFunctions),[C]),I=JSON.stringify(_.map(e=>{let t=e.name,r=e.fieldIndex;return[t,r,k(t,r)]})),T=null!==(c=null==x||null===(d=x.groupByDimensions)||void 0===d||null===(d=d[0])||void 0===d?void 0:d.name)&&void 0!==c?c:"",D=null!==(u=null==x||null===(m=x.configParams)||void 0===m?void 0:m.dataType)&&void 0!==u?u:"rum",P=Number(null==x||null===(p=x.configParams)||void 0===p?void 0:p.projectId),F=!!T&&g.some(e=>void 0!==e.groups),M=e=>{if(e===Jo)return"Other";if("null"===e||""===e)return"N/A";const t=sn({dataDomain:D,additionalData:null==v?void 0:v[P],filterName:T});return(null==t?void 0:t.getValueLabel(e))||e},O=(0,B.useMemo)(()=>{if(!F)return[];const e=new Map;return g.forEach(t=>{var r;Object.entries(null!==(r=t.groups)&&void 0!==r?r:{}).forEach(t=>{var r;let n=qa(t,2),i=n[0],o=n[1];e.set(i,(null!==(r=e.get(i))&&void 0!==r?r:0)+(null!=o?o:0))})}),[...e.keys()].sort((t,r)=>{var n,i;return t===Jo?1:r===Jo?-1:(null!==(n=e.get(r))&&void 0!==n?n:0)-(null!==(i=e.get(t))&&void 0!==i?i:0)})},[g,F]),L=(0,B.useMemo)(()=>{const e=(0,Vr.Dg)(T),t=e=>e===Jo?2:"null"===e||""===e?1:0,r=e=>{const t=qa(e.split("-"),1)[0];return""===t?-1/0:Number(t)},n=[...O].sort((n,i)=>{const o=t(n)-t(i);return 0!==o||0!==t(n)?o:e?r(n)-r(i):0});return new Map(n.map((e,t)=>[e,t]))},[O,T]),E=(0,B.useMemo)(()=>{const e=g.map((e,t,r)=>{var n,i,o;r[0].bucketFrom;const a=null!==(n=null===(i=r.at(-1))||void 0===i?void 0:i.bucketTo)&&void 0!==n?n:null===(o=r.at(-1))||void 0===o?void 0:o.bucketFrom,l=Qa(e.bucketFrom,j,0,a);return null===e.bucketTo?`${l}+`:l}),t=[],r=new Map;
1_.forEach(e=>{var n,i;let o=e.name,a=e.fieldIndex;const l=null!==(n=null===(i=(0,wn.nW)(o))||void 0===i?void 0:i.dataType)&&void 0!==n?n:"count",s=t.findIndex(e=>e._dataType===l);if(s>=0)r.set(o,s+1);else{const e=t.length+1,n=(0,Ca.p)(l,!0);t.push({...n,title:{text:k(o,a)},opposite:!0,_dataType:l}),r.set(o,e)}});const n=[{title:{text:S},min:0,gridLineColor:b?"rgba(255,255,255,0.15)":"#e6e6e6"},...t.map(e=>({...e,gridLineWidth:0,gridLineColor:b?"rgba(255,255,255,0.15)":"#e6e6e6"}))],i=F?O.map((e,t)=>{var r;return{type:"column",name:M(e),data:g.map(t=>{var r,n;return null!==(r=null===(n=t.groups)||void 0===n?void 0:n[e])&&void 0!==r?r:0}),yAxis:0,color:Ia.dy[t%Ia.dy.length],stack:"count",legendIndex:null!==(r=L.get(e))&&void 0!==r?r:t,custom:{metricName:null}}}):[{type:"column",name:`${w} distribution`,data:g.map(e=>{var t;const r=null===e.bucketTo?e.bucketFrom:e.bucketTo-1e-6,n=null===(t=(0,wn.nW)(y))||void 0===t?void 0:t.getRating(r,"mobile");return{y:e.count,color:n&&"unknown"!==n?(0,Ha.fV)(n):"#7cb5ec"}}),yAxis:0,custom:{metricName:null}}],o=_.flatMap(e=>{let t=e.name,n=e.fieldIndex;const i=k(t,n);return A.map(e=>{var n;return{type:"line",name:A.length>1?`${i} (${$a(e)})`:i,data:g.map(r=>{var n;return null!==(n=r[Qo(t,e)])&&void 0!==n?n:null}),yAxis:null!==(n=r.get(t))&&void 0!==n?n:1,connectNulls:!1,marker:{enabled:!1},custom:{metricName:t}}})}),a=[...i,...o.map((e,t)=>({...e,legendIndex:i.length+t}))];return{chart:{height:null,animation:!1},title:{text:void 0},credits:{enabled:!1},legend:{enabled:a.length>1},xAxis:{categories:e,title:{text:w},labels:{step:Math.max(1,Math.floor(g.length/8)),rotation:-30,y:"bytes"===j?40:void 0}},yAxis:n,series:a,plotOptions:{column:{animation:!1,borderWidth:0,stacking:F?"normal":void 0},line:{animation:!1}}}},[g,y,w,S,I,A,b,F,O,L]),R=qa((0,B.useState)(null),2),U=R[0],$=R[1],V=(0,Aa.D)();return(0,W.jsxs)("div",{className:"dashboard-item-chart",children:[f&&(0,W.jsx)("div",{style:{position:"absolute",top:8,right:8,zIndex:1},children:(0,W.jsx)(kt.v,{})}),(0,W.jsxs)("div",{className:"chart-container pt-3 px-2",style:{position:"relative"},children:[(0,W.jsx)(Na.F,{highcharts:Ta,options:E,callback:$}),(0,W.jsx)(za.U,{chart:U,children:e=>{var t,r,n,i;const o=e.series.chart.series.filter(e=>e.visible).flatMap(t=>t.points.filter(t=>t.x===e.x));if(null==o||!o.length)return"";const a=o[0].key,l=o[0].index,s=g[l],c=(null===(t=g[0])||void 0===t||t.bucketFrom,null!==(r=null===(n=g.at(-1))||void 0===n?void 0:n.bucketTo)&&void 0!==r?r:null===(i=g.at(-1))||void 0===i?void 0:i.bucketFrom),d=s?null===s.bucketTo?`${Qa(s.bucketFrom,j,0,c)}+`:`${Qa(s.bucketFrom,j,0,c)} - ${Qa(s.bucketTo,j,0,c)}`:a,u=[];
1if(F&&null!=s&&s.groups){const e=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;const r=Object.entries(e).map(e=>{let t=Wa(e,2),r=t[0],n=t[1];return[r,null!=n?n:0]}).filter(e=>Wa(e,2)[1]>0),n=r.reduce((e,t)=>e+Wa(t,2)[1],0);return{entries:r.sort((e,t)=>t[1]-e[1]).slice(0,t).map(e=>{let t=Wa(e,2),r=t[0],i=t[1];return{key:r,count:i,percentage:n?i/n*100:0}}),total:n}}(s.groups,3),t=e.entries,r=e.total;u.push({id:`total-${l}`,title:`Total ${S}`,value:r.toLocaleString()}),t.forEach(e=>{let t=e.key,r=e.count,n=e.percentage;u.push({id:`group-${l}-${t}`,title:M(t),value:`${r.toLocaleString()} (${Math.round(n)}%)`,color:Ia.dy[O.indexOf(t)%Ia.dy.length]})})}else if("number"==typeof(null==s?void 0:s.count)){var m;u.push({id:`count-${l}`,title:S,value:s.count.toLocaleString(),color:null===(m=o[0])||void 0===m?void 0:m.color})}return o.forEach(t=>{var r,n;const i=null===(r=t.series.userOptions.custom)||void 0===r?void 0:r.metricName;null!=i&&null!=t.y&&t.x===e.x&&u.push({id:`metric-${l}-${i}`,title:t.series.name,icon:(0,W.jsx)(ki.x,{optionValue:i}),color:t.color,value:(0,N.Fl)(t.y,null===(n=(0,wn.nW)(i))||void 0===n?void 0:n.dataType)})}),(0,W.jsxs)("div",{className:"histogram-tooltip text-contrast-medium",style:{zIndex:9999999999},children:[(0,W.jsx)("div",{children:d}),u.map(e=>(0,W.jsxs)("div",{className:"mt-1 d-flex align-items-center",children:[e.color?(0,W.jsx)("div",{style:{width:"0.7em",height:"0.7em",borderRadius:"50%",backgroundColor:e.color,marginRight:"0.25rem",borderWidth:"1px",borderStyle:"solid",borderColor:V?"rgba(255,255,255,0.15)":"rgba(0,0,0,0.15)"}}):null,e.icon?(0,W.jsx)("span",{className:"mr-1 d-flex align-items-center",children:e.icon}):null,e.title,": ",e.value]},e.id))]},u.map(e=>e.id).join("-"))}})]})]})}function Ja(e){var t;return e?(0,Vr.Dg)(e)?(0,hr.pg)(e):(null===(t=(0,k.Hh)(e.replaceAll("_",".")))||void 0===t?void 0:t.title)||e:""}function Qa(e,t,r,n){if("ms"===t)return(0,N.Fl)(e,"ms",{precision:2,forceTimeUnit:null==n?void 0:n>2e3?"s":"ms"});if("score"===t)return String(Math.round(e));if("bytes"===t)return(0,N.z3)(e,{forceUnit:null==n?void 0:n>1e10?"GB":n>1e7?"MB":void 0});const i="float"===t&&null!=n&&n<=1;return(0,N.Fl)(e,t,{precision:i?3:void 0,roundDecimals:i?3:void 0})}function Za(e){var t;return(0,Vr.Dg)(e)?(0,hr.T5)(e):(null===(t=(0,k.Hh)(e))||void 0===t?void 0:t.dataType)||"number"}const el=e=>{var t,r;let n=e.config,i=e.chartData,o=e.hasPartialData,a=e.mappingDataByProjectId,l=e.onPartialData;return(null!==(t=null===(r=n.series[0])||void 0===r||null===(r=r.metricFields)||void 0===r?void 0:r.length)&&void 0!==t?t:0)<2?(0,W.jsx)(Fa,{reason:"Select two metrics to render a scatter chart."}):(0,W.jsx)(Ma,{chartData:i,hasPartialData:o,onPartialData:l,processData:e=>function(e){var t,r,n,i,o,l,s,c,d;const u=e.data,m=e.requestedSeries,p=e.projects,g=e.displayOptions,h=e.groupLimits,f=null==u?void 0:u[0],v=m[0];if(!f||!Array.isArray(f)||!v)return null;const b=null===(t=v.metricFields[0])||void 0===t?void 0:t.name,x=null===(r=v.metricFields[1])||void 0===r?void 0:r.name;if(!b||!x)return null;const y=Number(v.configParams.projectId),j=null==p?void 0:p[y],w=null!==(n=v.configParams.dataType)&&void 0!==n?n:In(v),S=null!==(i=null===(o=v.groupByDimensions)||void 0===o||null===(o=o[0])||void 0===o?void 0:o.name)&&void 0!==i?i:"",_=null!==(l=null===(s=e.expandedSeriesMap)||void 0===s?void 0:s[0])&&void 0!==l?l:0,k=null==h||null===(c=h.find(e=>e.seriesIndex===_))||void 0===c?void 0:c.allowedGroups,C=new Map;f.forEach(e=>{const t=e[b],r=e[x];if("number"!=typeof t||"number"!=typeof r)return;const n="number"==typeof e.views?e.views:null,i=S?null==e[S]?"null":String(e[S]):"All";if(S&&k&&k.length>0&&!k.includes(i))return;let o;o=S?null===e[S]||void 0===e[S]?"null":((e,t,r,n)=>{const i=sn({dataDomain:t,additionalData:a[e],filterName:r});return(null==i?void 0:i.getValueLabel(n))||n})(y,w,S,String(e[S])):"All";const l=C.get(i);l?l.points.push({x:t,y:r,views:n}):C.set(i,{name:o,points:[{x:t,y:r,views:n}]})});const A=[...C.values()];if(0===A.length)return null;const N=null!=g&&g.trendLine&&null!==(d=function(e){if(e.length<2)return null;const t=e.length;let r=0,n=0,i=0,o=0,a=1/0,l=-1/0;for(const t of e){const e=t.x,s=t.y;
1r+=e,n+=s,i+=e*s,o+=e*e,e<a&&(a=e),e>l&&(l=e)}const s=t*o-r*r;if(0===s||a===l)return null;const c=(t*i-r*n)/s,d=(n-c*r)/t;return[{x:a,y:c*a+d},{x:l,y:c*l+d}]}(A.flatMap(e=>e.points)))&&void 0!==d?d:void 0;return{xTitle:Oa(b,_,0,j,g),yTitle:Oa(x,_,1,j,g),xDataType:Za(b),yDataType:Za(x),series:A,trendLine:N}}(e),renderChart:e=>(0,W.jsx)(tl,{...e})})};function tl(e){let t=e.processedData;const r=(0,Aa.D)(),n=(0,B.useMemo)(()=>{const e=r?"rgba(255,255,255,0.15)":"#e6e6e6",n=(0,Ca.p)(t.xDataType,!0),i=(0,Ca.p)(t.yDataType,!0),o=t.series.map((e,t)=>({type:"scatter",name:e.name,data:e.points.map(e=>({x:e.x,y:e.y,views:e.views})),color:Ia.dy[t%Ia.dy.length],marker:{radius:4}}));return t.trendLine&&o.push({type:"line",name:"Trend",data:t.trendLine.map(e=>[e.x,e.y]),color:r?"#bbbbbb":"#666666",dashStyle:"Dash",marker:{enabled:!1},enableMouseTracking:!1,states:{hover:{enabled:!1}},showInLegend:!1,zIndex:1}),{colors:Ia.dy,chart:{height:null,type:"scatter",animation:!1},title:{text:void 0},credits:{enabled:!1},legend:{enabled:t.series.length>1},xAxis:{...n,title:{text:t.xTitle},gridLineWidth:1,gridLineColor:e},yAxis:{...i,title:{text:t.yTitle},gridLineColor:e},series:o,tooltip:{useHTML:!0,headerFormat:"",pointFormatter:function(){var e;const r=this,n=this.series.name,i=(0,N.Fl)(r.x,t.xDataType),o=(0,N.Fl)(r.y,t.yDataType),a=n&&"All"!==n?`<span style="font-weight:500">${n}</span><br/>`:"",l=null===(e=r.options)||void 0===e?void 0:e.views,s="number"==typeof l?`<br/>Views: <b>${l.toLocaleString()}</b>`:"";return`${a}${t.xTitle}: <b>${i}</b><br/>${t.yTitle}: <b>${o}</b>${s}`}},plotOptions:{scatter:{animation:!1}}}},[t,r]);return null!=t&&t.series.length?(0,W.jsx)("div",{className:"dashboard-item-chart",children:(0,W.jsx)("div",{className:"chart-container pt-3 px-2",children:(0,W.jsx)(Na.F,{highcharts:Ta,options:n})})}):(0,W.jsx)(Fa,{reason:"No data available for the selected time period"})}const rl=["groups"],nl=["groups","count","views"];function il(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function ol(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return al(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?al(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function al(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const ll=/^createdAt.*Timestamp$/,sl=/^(.+)::(.+)$/;function cl(e,t,r){var n;if(!r||r===t||ll.test(t))return;const i=null!==(n=e.get(t))&&void 0!==n?n:new Set;i.add(r),e.set(t,i)}function dl(e){const t=[...e].filter(e=>1===ol(e,2)[1].size).map(e=>{let t=ol(e,2);return[t[0],[...t[1]][0]]}),r=new Map;for(const e of t){var n;const t=ol(e,2)[1];r.set(t,(null!==(n=r.get(t))&&void 0!==n?n:0)+1)}return Object.fromEntries(t.filter(e=>{let t=ol(e,2)[1];return 1===r.get(t)}))}function ul(e,t){var r,n,i,o;const a=function(e,t){const r=t.configSeries,n=t.projects,i=t.displayOptions,o=null==r?void 0:r[0],a=o?null==n?void 0:n[o.configParams.projectId]:void 0,l=new Map;for(const t of(0,T.uniq)(e.flatMap(Object.keys))){var s,c;const e=sl.exec(t);if(!e)continue;const r=ol(e,3),n=r[1],d=r[2],u=null!==(s=null==o?void 0:o.metricFields.findIndex(e=>e.name===n))&&void 0!==s?s:-1;cl(l,t,`${(u>=0?null==i||null===(c=i.series)||void 0===c||null===(c=c[0])||void 0===c||null===(c=c.metricFields)||void 0===c||null===(c=c[u])||void 0===c?void 0:c.title:void 0)||ml(n,a)} - ${d}`)}return dl(l)}(e,t),l=null===(r=t.configSeries)||void 0===r?void 0:r[0],s=null==l||null===(n=l.groupByDimensions)||void 0===n||null===(n=n[0])||void 0===n?void 0:n.name,c=s?function(e){const t=new Map;for(const o of e)for(const e of Object.entries(null!==(r=o.groups)&&void 0!==r?r:{})){var r,n,i=ol(e,2);const o=i[0],a=i[1];t.set(o,(null!==(n=t.get(o))&&void 0!==n?n:0)+(Number(a)||0))}return[...t.keys()].sort((e,r)=>{var n,i;return e===Jo?1:r===Jo?-1:(null!==(n=t.get(r))&&void 0!==n?n:0)-(null!==(i=t.get(e))&&void 0!==i?i:0)})}(e):[];if(!s||!c.length)return{rows:e.map(e=>(e.groups,pl(il(e,rl),a))),prioritizedColumnOrder:[]};const d=l?null===(i=t.projects)||void 0===i?void 0:i[l.configParams.projectId]:void 0,u=Xr(s,null!==(o=null==d?void 0:d.rumSnippet)&&void 0!==o?o:void 0).title||s,m=function(e,t,r){var n,i,o;const a=sn({dataDomain:"lab_tests"===(null==t||null===(n=t.configParams)||void 0===n?void 0:n.dataType)?"lab_tests":"rum",filterName:e,additionalData:r&&{rumCustomMappings:null===(i=r.rumSnippet)||void 0===i?void 0:i.rumCustomMappings,rumPageGroups:null===(o=r.rumSnippet)||void 0===o?void 0:o.rumPageGroups,devices:r.devices,pageLoads:r.pageLoads}});return e=>{var t;return e===Jo?"Other":"null"===e||""===e?"N/A":(null==a||null===(t=a.getValueLabel)||void 0===t?void 0:t.call(a,e))||e}}(s,l,d),p=[];for(const t of e){const e=t.groups,r=(t.count,t.views),n=il(t,nl),i=null!=e?e:{};for(const e of c){if(!(e in i))continue;const t=i[e];p.push(pl({...n,[u]:m(e),count:t,...void 0!==r?{views:t}:{}},a))}}return{rows:p,prioritizedColumnOrder:["bucketFrom","bucketTo",u]}}function ml(e,t){var r,n;return(0,Vr.Dg)(e)?(0,hr.pg)(e,null!==(n=null==t?void 0:t.rumSnippet)&&void 0!==n?n:void 0):(null===(r=(0,k.Hh)(e.replaceAll("_","."),!0))||void 0===r?void 0:r.title)||e}function pl(e,t){return Object.fromEntries(Object.entries(e).map(r=>{let n=ol(r,2),i=n[0],o=n[1];const a=t[i];return[a&&!(a in e)?a:i,o]}))}var gl=r(70094);function hl(e){var t,r,n,i,o,a,l,s;let c=e.config,d=e.chartData;const u=d.data,m=d.fetching,p=d.requestedSeries,g=d.projects,h=p[0],f=null==h||null===(t=h.configParams)||void 0===t?void 0:t.projectId,v=null==g?void 0:g[f],b=null==v||null===(r=v.rumSnippet)||void 0===r?void 0:r.rumCustomMappings,x=null==h||null===(n=h.metricFields[0])||void 0===n?void 0:n.name,y=(0,wn.nW)(x,{rumCustomMappings:b}),j=null==u?void 0:u[0],w=(null==u?void 0:u[1])||null,S=null!==(i=c.displayOptions.title||(null==y?void 0:y.title))&&void 0!==i?i:"Unknown Metric",_=null==j||null===(o=j[0])||void 0===o?void 0:o[x],k=null==w||null===(a=w[0])||void 0===a?void 0:a[x],C=null!=j&&j.length>0&&null!=_&&"Unknown Metric"!==S,A=null==y?void 0:y.getPercentageChange(_,k),N=!Number.isNaN(A),I=null===(l=c.displayOptions.series)||void 0===l||null===(l=l[0])||void 0===l?void 0:l.includePreviousPeriodComparison;
1if(!y)return(0,W.jsx)(Fa,{reason:"No metric selected"});const T=y.getRating(_,"desktop");return(0,W.jsxs)("div",{className:"dashboard-item-metric",children:[(0,W.jsxs)("div",{className:"metric-label text-contrast-medium",children:[S,m&&(0,W.jsx)(gl.m,{className:"spin"})]}),(null==h||null===(s=h.aggregationFunctions)||void 0===s?void 0:s[0])&&(0,W.jsx)("div",{className:"scale-small-1 color-coldGrey1",children:$a(h.aggregationFunctions[0])}),C?(0,W.jsx)("div",{className:`metric-value color-ratingColor${T[0].toUpperCase()}${T.slice(1)}`,children:y.formatValue(_)}):(0,W.jsx)("div",{className:"metric-value text-contrast-low",children:"N/A"}),I?(0,W.jsx)("div",{className:`metric-change ${y.getChangeRating(_,k)}`,children:N?`${A>0?"+":""}${A.toFixed(1)}%`:"—"}):null]})}function fl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return vl(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vl(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vl(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function bl(e,t,r){const n={},i=new Set;return t?e.some(e=>e.groupByDimensions&&e.groupByDimensions.length>0)?(e.forEach(e=>{var o;const a=t[e.configParams.projectId];if(!a)return;const l="rum"===e.configParams.dataType;l&&!a.rumSnippet||null===(o=e.groupByDimensions)||void 0===o||o.forEach(t=>{const o=t.name;if(i.has(o))return;i.add(o);const s=l?(0,hr.BC)(o,a.rumSnippet):nn(o);n[o]={heading:{title:s,alignRight:!1},render:t=>{const n=String(t[o]);for(const t of Object.keys(r)){var i;const a=null===(i=sn({dataDomain:e.configParams.dataType,additionalData:r[t],filterName:o}))||void 0===i?void 0:i.getValueLabel(n);if(void 0!==a&&a!==n)return a}return n},getSortByValue:e=>e[o]}})}),n):(n._allGroup={heading:{title:"Group",alignRight:!1},render:()=>"All",getSortByValue:()=>"All"},n):n}function xl(e,t,r){const n={};return t?(e.forEach((i,o)=>{const a=t[i.configParams.projectId];if(!a)return;const l=e.flatMap(e=>{var t;return null!==(t=e.aggregationFunctions)&&void 0!==t&&t[0]?e.aggregationFunctions:["p75"]});i.metricFields.forEach((t,s)=>{const c=t.name,d=`${o}_${c}`;let u,m;if((0,Vr.Dg)(c))u=Oa(c,o,s,a,r,{aggregationFunctions:i.aggregationFunctions,allSeriesStats:l}),m=(0,hr.T5)(c);else{const t=(0,k.Hh)(c);var p;if(u=(null==t?void 0:t.shortTitle)||(null==t?void 0:t.title)||c,m=(null==t?void 0:t.dataType)||"number",e.length>1)u=`${(null==r||null===(p=r.series)||void 0===p||null===(p=p[o])||void 0===p?void 0:p.title)||`Series ${o+1}`}: ${u}`}n[d]={heading:{title:u,alignRight:!0},render:e=>{const t=e[d];return null==t?"-":(0,N.Fl)(t,m)},getSortByValue:e=>e[d]}})}),n):n}const yl=e=>{var t,r,n;let i=e.config,o=e.chartData,a=e.mappingDataByProjectId;const l=o.data,s=o.fetching,c=o.requestedSeries,d=o.groupLimits,u=o.projects,m=fl((0,B.useState)(null!==(t=null!==(r=null==i?void 0:i.displayOptions.sortByColumn)&&void 0!==r?r:null===(n=i.series)||void 0===n||null===(n=n[0])||void 0===n||null===(n=n.metricFields)||void 0===n||null===(n=n[0])||void 0===n?void 0:n.name)&&void 0!==t?t:void 0),2),p=m[0],g=m[1],f=fl((0,B.useState)((null==i?void 0:i.displayOptions.sortOrder)||void 0),2),v=f[0],b=f[1],x=(0,B.useRef)([]),y=(0,B.useMemo)(()=>(s||(x.current=function(e,t,r){var n;if(!e||0===e.length||!t.length)return[];const i=new Set;t.forEach(e=>{var t;
1null===(t=e.groupByDimensions)||void 0===t||t.forEach(e=>i.add(e.name))});const o=Array.from(i);if(0===o.length){const r={};return e.forEach((e,n)=>{if(e&&e.length>0){const i=e[0];t[n].metricFields.forEach(e=>{const t=`${n}_${e.name}`;r[t]=i[e.name]})}}),[r]}const a=new Map,l=new Set;r&&o.length>0&&r.forEach(e=>{null!=e&&e.allowedGroups&&e.allowedGroups.forEach(e=>l.add(e))}),e.forEach((e,r)=>{if(!e)return;const n=t[r];e.forEach(e=>{const t=o.map(t=>void 0!==e[t]?String(e[t]):"").join("|");if(!a.has(t)){const r={};o.forEach(t=>{void 0!==e[t]&&(r[t]=e[t])}),a.set(t,r)}const i=a.get(t);n.metricFields.forEach(t=>{const n=`${r}_${t.name}`;i[n]=e[t.name]})})});let s=Array.from(a.values());if(l.size>0&&o.length>0){const e=o[0];s=s.filter(t=>{const r=String(t[e]);return l.has(r)})}if(r&&r.length>0&&null!==(n=r[0])&&void 0!==n&&n.allowedGroups&&o.length>0){const e=r[0].allowedGroups,t=o[0];s=s.sort((r,n)=>{const i=String(r[t]),o=String(n[t]),a=e.indexOf(i),l=e.indexOf(o);return-1!==a&&-1!==l?a-l:-1!==a?-1:-1!==l?1:0})}return s}(null!=l?l:[],c,d)),x.current),[s,l,d,c]),j=(0,B.useRef)({}),w=(0,B.useMemo)(()=>(s||(c.length&&u?j.current={...bl(c,u,a),...xl(c,u,i.displayOptions)}:j.current={}),j.current),[s,c,u,a,i.displayOptions]),S=(0,B.useCallback)(e=>{if(!e)return g(void 0),void b(void 0);g(null==e?void 0:e.replace(/^-/,"")),b(e.startsWith("-")?"descending":"ascending")},[g,b]);return(0,B.useEffect)(()=>{g(null==i?void 0:i.displayOptions.sortByColumn),b(null==i?void 0:i.displayOptions.sortOrder)},[i.displayOptions.sortByColumn,i.displayOptions.sortOrder]),null!=y&&y.length?(0,W.jsx)("div",{className:"dashboard-item-table",children:(0,W.jsx)("div",{className:"table-container",children:(0,W.jsx)(h.mY,{stickyHeader:!0,columns:w,items:y||[],getItemKey:(e,t)=>`row-${t}`,sortByColumn:p&&`${"ascending"===v?"":"-"}${p}`,onSortByChange:S})})}):(0,W.jsx)(Fa,{reason:"No data available for the selected time period"})};var jl=r(29262);const wl=e=>{var t,r;let n=e.config;return(0,W.jsx)("div",{className:"dashboard-item-text",children:(0,W.jsx)("div",{className:"text-content",children:(0,W.jsx)(jl.X8,{text:null!==(r=n.displayOptions.content)&&void 0!==r?r:"",from:"plain-text"},String(""===(null!==(t=n.displayOptions.content)&&void 0!==t?t:"")))})})};var Sl=r(64113),_l=r(26715),kl=r(66545),Cl=r(2118);const Al=e=>{let t=e.chartData,r=e.hasPartialData,n=e.mappingDataByProjectId,i=e.isPreview,o=e.onPartialData;return(0,W.jsx)(Ma,{showSpinnerDuringUpdate:i,chartData:t,hasPartialData:r,onPartialData:o,processData:e=>function(e){const t=e.data,r=e.displayOptions,i=e.requestedSeries,o=e.requestedInterval,a=e.projects,l=e.groupLimits,s=e.expandedSeriesMap;if(!t||0===t.filter(Boolean).length)return null;const c=Ye(o),d=new Map,u=[],m=new Map;l&&l.forEach(e=>{m.set(e.seriesIndex,e.allowedGroups)});const p=i.flatMap(e=>e.metricFields.map(e=>e.name)),g=1===(0,T.uniq)(p).length,h=i.flatMap(e=>{var t;return null!==(t=e.aggregationFunctions)&&void 0!==t&&t[0]?e.aggregationFunctions:["p75"]});return i.forEach((e,i)=>{var l,p;const f=null!==(l=s[i])&&void 0!==l?l:i,v=e.configParams.projectId,b=Dn(o,e.timeDimension).name,x=(null!==(p=e.groupByDimensions)&&void 0!==p?p:[]).map(e=>e.name),y=null==a?void 0:a[v],j=t[i];j&&e.metricFields.forEach((t,i)=>{var o;const a=t.name,l=(0,Vr.Dg)(a)?(0,hr.T5)(a):(null===(o=(0,k.Hh)(a.replaceAll("_",".")))||void 0===o?void 0:o.dataType)||"number",s=Oa(a,f,i,y,r,{aggregationFunctions:e.aggregationFunctions,allSeriesStats:h});d.has(l)||d.set(l,d.size);const p=d.get(l);if(x.length>0){const t=new Map;j.forEach(e=>{const r={};x.forEach(t=>{const n=e[t];r[t]=null==n?"null":String(n)});const n=x.map(t=>{const r=e[t];return null!=r?r:"null"}).join("|||");t.has(n)||t.set(n,r)});const r=m.get(f);t.forEach(t=>{const i=x.map(e=>t[e]).join("|||");if(r&&!r.includes(i))return;const o=j.filter(e=>x.every(r=>{const n=e[r];return(null==n?"null":String(n))===t[r]})&&Dl(e,b)).map(e=>{var t;return{y:e[a],x:e[b],date:new Date(e[b]).toISOString(),views:null!==(t=e.views)&&void 0!==t?t:null}});if(o.length>0){const r=x.map(r=>((e,t,r,i)=>{const o=sn({dataDomain:t,additionalData:n[e],filterName:r});return(null==o?void 0:o.getValueLabel(i))||i})(e.configParams.projectId,e.configParams.dataType,r,t[r])).filter(e=>null!=e&&""!==e).join(", "),i=[r&&g?r:s,r&&!g?r:null];u.push({metric:a,metricTitle:i.filter(e=>null!=e).join(" - "),dataType:l,data:Il(o,b,c.from,c.to),yAxisIndex:p,groupByValues:t,seriesIndex:f})}})}else{const e=j.filter(e=>Dl(e,b)).map(e=>{var t;return{y:e[a],x:e[b],date:new Date(e[b]).toISOString(),views:null!==(t=e.views)&&void 0!==t?t:null}});e.length>0&&u.push({metric:a,metricTitle:s,dataType:l,data:Il(e,b,c.from,c.to),yAxisIndex:p,seriesIndex:f})}})}),u.sort((e,t)=>
1{if(e.seriesIndex!==t.seriesIndex)return e.seriesIndex-t.seriesIndex;const r=m.get(e.seriesIndex);if(!r||!e.groupByValues||!t.groupByValues)return 0;const n=Object.keys(e.groupByValues),i=n.map(t=>e.groupByValues[t]).join("|||"),o=n.map(e=>t.groupByValues[e]).join("|||");return r.indexOf(i)-r.indexOf(o)}),u}(e),renderChart:e=>(0,W.jsx)(Tl,{...e,isPreview:i,interval:t.requestedInterval,fetching:t.fetching})})},Nl=7*N.ec;function Il(e,t,r,n){const i=function(e,t,r,n){const i=[],o=function(e){switch(e){case"createdAtYearMonthDayHourFiveMinuteTimestamp":return 3e5;case"createdAtYearMonthDayHourMinuteTimestamp":return 6e4;case"createdAtYearMonthDayHourTimestamp":return N.C_;case"createdAtYearMonthDayTimestamp":return N.ec;case"createdAtYearWeekTimestamp":return Nl;default:return null}}(e);if(null!==o){const e=(n%o+o)%o;for(let n=Math.floor((t.getTime()-e)/o)*o+e;n<=r.getTime();n+=o)i.push(n)}else if("createdAtYearMonthTimestamp"===e){let e=(0,_e.A)(t);for(;e.getTime()<=r.getTime();)i.push(e.getTime()),e=(0,Cl.A)(e,1)}return i}(t,r,n,e[0].x);if(0===i.length)return e;const o=new Set(e.map(e=>e.x)),a=[...e];for(const e of i)o.has(e)||a.push({x:e,y:null,date:new Date(e).toISOString()});return a.sort((e,t)=>e.x-t.x)}function Tl(e){let t=e.processedData,r=e.isPreview,n=e.interval;const i=(0,Aa.D)(),o=(0,Sl.J)(),a=(0,B.useContext)(cr.P1),l=a.annotationsVisible,s=a.draftAnnotation,c=(0,B.useContext)(Rc),d=(0,B.useMemo)(()=>{if(!l)return[];const e=c.filter(e=>!e.pageFilter).map(e=>(0,kl.Z9)(e));if(null!=s&&s.date){const t=(0,kl.Z9)({id:-1,title:s.title||"[No Title]",description:"",date:s.date});t.className="timeline-annotation timeline-annotation--draft",e.push(t)}return e},[c,l,s]),u=(0,B.useMemo)(()=>{const e=Ye(n),a=e.from,l=e.to.getTime()-a.getTime()<=2*N.ec,s=(0,T.uniq)(t.map(e=>e.dataType)),c=Math.max(0,...t.map(e=>e.yAxisIndex)),u=Math.max(s.length,c+1),m=[];for(let e=0;e<u;e++){const r=t.filter(t=>t.yAxisIndex===e).map(e=>e.dataType)[0]||"ms";m.push({...(0,Ca.p)(r,!0),opposite:e>0,title:{text:void 0},min:0,minRange:.5})}const p=t.map(e=>({type:"spline",name:e.metricTitle,data:e.data.slice(0).sort((e,t)=>e.x-t.x).map(Pl),yAxis:e.yAxisIndex,marker:{enabled:!1}})),g={colors:Ia.dy,chart:{height:null,type:"spline",animation:!1,spacingBottom:t.length<=1?25:void 0,zooming:r?{}:{type:"x"},events:r?{}:{selection:e=>{let t=e.xAxis;return o({from:new Date(t[0].min),to:new Date(t[0].max)}),!1}}},title:{text:void 0},credits:{enabled:!1},legend:{enabled:t.length>1},xAxis:{...(0,Ca.p)(l?"dateWithHours":"date",!1),plotLines:d},yAxis:m.map(e=>({...e,gridLineColor:i?"rgba(255,255,255,0.15)":"#e6e6e6"})),series:p,tooltip:{shared:!1,formatter:function(){const e=this.x,r=this.series.index;let n=`<span style="font-weight: 500">${l?(0,N.r6)(e):(0,N.Yq)(e)}</span><br/>`;return this.series.chart.series.forEach(i=>{const o=i.points.find(t=>t.x===e);if(o){var a;const e=t.find(e=>e.metricTitle===i.name),l=(null==e?void 0:e.dataType)||"ms",s=(0,N.Fl)(o.y,l),c=null===(a=o.options)||void 0===a?void 0:a.views,d=null!=c?` <span style="opacity: 0.6">(${c.toLocaleString()} views)</span>`:"",u=i.index===r;n+=u?`<span style="font-weight: 500"><span style="color:${o.color}">●</span> ${i.name}: ${s}${d}</span><br/>`:`<span style="color:${o.color}">●</span> ${i.name}: ${s}${d}<br/>`}}),n}},plotOptions:{spline:{animation:!1,lineWidth:3}}};return g},[t,i,d,o,r,n]);return(0,W.jsxs)("div",{className:"dashboard-item-chart","data-dashboard-timeseries-chart":!0,children:[(0,W.jsx)("div",{className:"chart-container pt-3 px-2",children:(0,W.jsx)(Na.F,{highcharts:Ta,options:u})}),!r&&(0,W.jsx)(_l.b,{parentSelector:"[data-dashboard-timeseries-chart]"})]})}function Dl(e,t){return t in e}function Pl(e,t,r){if(null===e.y)return e;const n=0===t||null===r[t-1].y,i=t===r.length-1||null===r[t+1].y;return n&&i?{...e,marker:{enabled:!0,radius:3,states:{hover:{radius:3.5}}}}:e}function Fl(e){let t=e.fetching;return(0,W.jsx)("div",{className:"d-flex align-items-center justify-content-center p-3",style:{width:"100%",height:"100%",opacity:t?1:0,transition:"opacity 0.3s",pointerEvents:"none"},children:(0,W.jsx)(kt.v,{})})}function Ml(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Ol=e=>{var t,r;let n=e.config,i=e.interval,o=e.isPreview,a=void 0!==o&&o,s=e.onPartialData,c=e.onExportData;const d=(0,B.useMemo)(()=>{var e;const t=n.series;return En(n)&&null!==(e=n.displayOptions.series)&&void 0!==e&&null!==(e=e[0])&&void 0!==e&&e.includePreviousPeriodComparison&&t[0]?[t[0],{...t[0],configParams:{...t[0].configParams,dateRangeOffset:-1}}]:t},[n]),m=(0,B.useMemo)(()=>Array.from(new Set(d.map(e=>{var t;return Number(null===(t=e.configParams)||void 0===t?void 0:t.projectId)}
1).filter(Boolean))),[d]),p=(0,vt.YK)(m,["pageLoads","metricGroups","rumSnippet"]),g=(0,B.useMemo)(()=>Object.fromEntries(Object.entries(null!=p?p:{}).map(e=>{var t,r,n,i;let o=(c=2,function(e){if(Array.isArray(e))return e}(s=e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(s,c)||function(e,t){if(e){if("string"==typeof e)return Ml(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ml(e,t):void 0}}(s,c)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=o[0],l=o[1];var s,c;return[a,{rumPageGroups:null==l||null===(t=l.rumSnippet)||void 0===t?void 0:t.rumPageGroups,rumCustomMappings:null==l||null===(r=l.rumSnippet)||void 0===r?void 0:r.rumCustomMappings,devices:null!==(n=null==l?void 0:l.devices)&&void 0!==n?n:[],pageLoads:null!==(i=null==l?void 0:l.pageLoads)&&void 0!==i?i:[]}]})),[p]),h=Un(n),f=function(e,t,r){var n,i,o;const a=(0,l.O)().project,s=(0,B.useMemo)(()=>{var e;return null!==(e=null==a?void 0:a.savedFilters)&&void 0!==e?e:[]},[null==a?void 0:a.savedFilters]),c=ai(),d=ba((0,B.useState)(null),2),m=d[0],p=d[1],g=ba((0,B.useState)(!1),2),h=g[0],f=g[1],v=ba((0,B.useState)(null),2),b=v[0],x=v[1],y=ba((0,B.useState)(null),2),j=y[0],w=y[1],S=JSON.stringify({series:null!==(n=null==e?void 0:e.series)&&void 0!==n?n:null,groupLimit:null!==(i=null==e||null===(o=e.displayOptions)||void 0===o||null===(o=o.series)||void 0===o||null===(o=o[0])||void 0===o?void 0:o.maxNumberOfGroups)&&void 0!==i?i:null}),_=(0,B.useCallback)(async()=>{var n,i,o,a;if(!e)return p(null),w("No configuration provided."),x(null),void f(!1);const l=e.series[0];if(!l)return p(null),w("No series configured."),x(null),void f(!1);const d=l.metricFields;if(!d.length||null===(n=d[0])||void 0===n||!n.name)return p(null),w("Select a metric to use as the x-axis distribution."),x(null),void f(!1);const m=d[0],g=d.slice(1),h=null!==(i=null!==(o=null===(a=l.configParams)||void 0===a?void 0:a.dataType)&&void 0!==o?o:In(l))&&void 0!==i?i:"rum";"rum"!==h||g.some(e=>"views"===e.name)||g.push({name:"views",type:"metric"}),f(!0),x(null),w(null);try{var v,b,y,j,S,_,k;const n=Ye(t),i=Number(null===(v=l.configParams)||void 0===v?void 0:v.projectId),o=zn(c,"rum"===h?Wn:Gn),a="rum"===h?Zn(o,s):ei(o,s),d=[...ni(l,h,ha(l,r,s)),...a],x=null===(b=l.groupByDimensions)||void 0===b?void 0:b[0],w=x?null!==(y=null===(j=e.displayOptions)||void 0===j||null===(j=j.series)||void 0===j||null===(j=j[0])||void 0===j?void 0:j.maxNumberOfGroups)&&void 0!==y?y:5:void 0,C=Zo(l.aggregationFunctions),A=await u.FH.customDashboards.getBucketedDashboardData({bucketField:{name:m.name},metricFields:g.map(e=>({name:e.name})),groupByField:x?{name:x.name}:void 0,groupLimit:w,bucketCount:null!==(S=null===(_=l.configParams)||void 0===_?void 0:_.bucketCount)&&void 0!==S?S:40,aggregationFunctions:C,dateRange:{startDate:n.from.toISOString(),endDate:n.to.toISOString()},dimensionsFilters:d,configParams:{projectId:String(i),dataType:h}}),N="score"===(null===(k=(0,wn.nW)(m.name))||void 0===k?void 0:k.dataType),I=g.map(e=>e.name).filter(e=>{var t;return"score"===(null===(t=(0,wn.nW)(e))||void 0===t?void 0:t.dataType)}).flatMap(e=>C.map(t=>Qo(e,t)));if(N||I.length>0)for(const e of A){N&&(e.bucketFrom=100*e.bucketFrom,null!==e.bucketTo&&(e.bucketTo=100*e.bucketTo));for(const t of I)null!==e[t]&&void 0!==e[t]&&(e[t]=100*e[t])}p(A),f(!1)}catch(e){console.error("Error fetching bucketed dashboard data:",e),x("Failed to fetch data"),f(!1)}},[S,t,r,s,c]);return(0,B.useEffect)(()=>{_()},[_]),{data:m,fetching:h,error:b,noFetchReason:j}}(h?n:null,i,null!=p?p:void 0),v=f.data,b=f.fetching,x=f.error,y=f.noFetchReason,j=fa({series:d,interval:i,enabled:d.length>0&&!h,type:n.type,projects:null!=p?p:void 0}),w=j.data,S=j.fetching,_=j.error,k=j.noFetchReason,C=j.hasPartialData,A=j.requestedSeries,N=j.requestedInterval,I=j.expandedSeriesMap,D=function(e){var t;let r=e.series,n=e.displayOptions,i=e.interval,o=e.enabled,a=void 0===o||o,l=e.type;const s=ja((0,B.useState)(null),2),c=s[0],d=s[1],m=ja((0,B.useState)(!1),2),p=m[0],g=m[1],h=ja((0,B.useState)(null),2),f=h[0],v=h[1],b=(null!==(t=null==n?void 0:n.series)&&void 0!==t?t:[]).flatMap((e,t)=>{var r;return[...Object.values(ka(null==n||null===(r=n.series)||void 0===r?void 0:r[t],l)),t]}).join("|"),x=(0,B.useCallback)(async()=>
1{if(!a||!r.length)return;const e=r.map((e,t)=>({item:e,index:t})).filter(e=>{var t;return null===(t=e.item.groupByDimensions)||void 0===t?void 0:t.length});if(0!==e.length){g(!0),v(null);try{const t=Ye(i),r=(await Promise.allSettled(e.map(async e=>{var r,o,a,s,c,d;let m=e.item,p=e.index;const g=m.configParams.dataType,h=Number(null===(r=m.configParams)||void 0===r?void 0:r.projectId),f=ka(null==n||null===(o=n.series)||void 0===o?void 0:o[p],l),v=f.maxNumberOfGroups,b=f.maxNumberOfGroupsCondition,x=f.maxNumberOfGroupsOrdering,y=[...m.metricFields,...null!==(a=m.groupByDimensions)&&void 0!==a?a:[]];"views"===b&&"rum"===g&&y.push({name:"views",type:"metric"});const j=null!==(s=null===(c=m.configParams)||void 0===c?void 0:c.dataType)&&void 0!==s?s:In(m),w={fields:y,dimensionsFilters:m.dimensionsFilters,dateRange:{startDate:t.from.toISOString(),endDate:t.to.toISOString()},aggregationFunction:m.aggregationFunctions[0],configParams:{projectId:h,dataType:j}},S=await ua.getOrFetch(w,()=>u.FH.customDashboards.getDashboardData(w),i),_=b,k=(null!==(d=m.groupByDimensions)&&void 0!==d?d:[]).map(e=>e.name);return _&&S&&0!==S.length?{seriesIndex:p,allowedGroups:[...S].sort((e,t)=>{var r,n;const i=null!==(r=e[_])&&void 0!==r?r:0,o=null!==(n=t[_])&&void 0!==n?n:0;return"desc"===x?o-i:i-o}).slice(0,v).map(e=>k.map(t=>String(e[t])).join("|||"))}:{seriesIndex:p,allowedGroups:[]}}))).filter(e=>"fulfilled"===e.status).map(e=>e.value);d(r),g(!1)}catch(e){console.error("Error fetching group limit data:",e),v("Failed to fetch group limit data"),g(!1)}}else d([])},[a,r,b,i,l]);return(0,B.useEffect)(()=>{x()},[x]),{groupLimits:c,fetching:p,error:f}}({series:d,displayOptions:n.displayOptions,interval:i,enabled:d.length>0&&!h,type:n.type}),P=D.groupLimits,F=D.fetching,M=D.error,O=h?v:w,L=h?b:S,E=h?x:_,R=h?y:k,U=String(null===(t=A[0])||void 0===t?void 0:t.configParams.projectId),$=Tn(n,null==p||null===(r=p[U])||void 0===r||null===(r=r.rumSnippet)||void 0===r?void 0:r.rumCustomMappings),V={data:O,fetching:L||F,error:E||M||null,noFetchReason:R,requestedSeries:A,requestedInterval:N,expandedSeriesMap:I,projects:null!=p?p:null,groupLimits:P,title:$,displayOptions:n.displayOptions},H=(0,B.useMemo)(()=>function(e){const t=e.data,r=e.title,n=e.requestedSeries,i=e.requestedInterval;if(null==t||!t.length)return{title:r,rows:[],prioritizedColumnOrder:[]};if(!n.length)return{title:r,...ul(t,e)};const o=t.flatMap((e,t)=>Array.isArray(e)&&n[t]?e:[]),a=(0,T.uniq)([...n.map(e=>Dn(i,e.timeDimension).name),...n.flatMap(e=>{var t;return(null!==(t=e.groupByDimensions)&&void 0!==t?t:[]).map(e=>e.name)})]),l=function(e,t){if(!t.length)return e;const r=new Map,n=[];for(const o of e){const e=t.map(e=>o[e]);if(e.every(e=>null==e)){n.push({...o});continue}const a=JSON.stringify(e),l=r.get(a),s=null==l?void 0:l.find(e=>{return t=e,r=o,Object.keys(r).every(e=>{const n=t[e],i=r[e];return null==n||null==i||n===i});var t,r});if(s)for(const e of Object.entries(o)){var i=ol(e,2);const t=i[0],r=i[1];null==s[t]&&(s[t]=r)}else{const e={...o};n.push(e),l?l.push(e):r.set(a,[e])}}return n}(o,a),s=function(e){const t=e.requestedSeries,r=e.expandedSeriesMap,n=e.projects,i=e.displayOptions,o=new Map;return t.forEach((e,t)=>{var a,l;const s=null!==(a=r[t])&&void 0!==a?a:t,c=null==n?void 0:n[e.configParams.projectId];e.metricFields.forEach((e,t)=>{cl(o,e.name,Oa(e.name,s,t,c,i))}
1),(null!==(l=e.groupByDimensions)&&void 0!==l?l:[]).forEach(e=>{var t,r;(zr(r=e.name)||qr(r)||r===Gr)&&cl(o,e.name,Xr(e.name,null!==(t=null==c?void 0:c.rumSnippet)&&void 0!==t?t:void 0).title)})}),cl(o,"views","Views"),dl(o)}(e);return{title:r,rows:l.map(e=>pl(e,s)),prioritizedColumnOrder:a.map(e=>{var t;return null!==(t=s[e])&&void 0!==t?t:e})}}({data:O,title:$,requestedSeries:A,requestedInterval:N,expandedSeriesMap:I,projects:null!=p?p:null,displayOptions:n.displayOptions,configSeries:d}),[O,$,A,N,I,p,n.displayOptions,d]);return(0,B.useEffect)(()=>{null==c||c(H)},[H,c]),"text"!==n.type&&(V.error||V.noFetchReason)?(0,W.jsx)(Fa,{error:V.error,reason:V.noFetchReason}):V.fetching?(0,W.jsx)(Fl,{fetching:!0}):Rn(n)?(0,W.jsx)(wl,{config:n}):En(n)?(0,W.jsx)(hl,{config:n,chartData:V}):"timeseries-chart"===n.type?(0,W.jsx)(Al,{config:n,chartData:V,hasPartialData:C,mappingDataByProjectId:g,isPreview:a,onPartialData:s}):"bar-chart"===n.type?(0,W.jsx)(La,{config:n,chartData:V,hasPartialData:C,mappingDataByProjectId:g,isPreview:a,onPartialData:s}):function(e){return"table"===e.type}(n)?(0,W.jsx)(yl,{config:n,chartData:V,mappingDataByProjectId:g,isPreview:a}):function(e){return"scatter"===e.type}(n)?(0,W.jsx)(el,{config:n,chartData:V,hasPartialData:C,mappingDataByProjectId:g,isPreview:a,onPartialData:s}):Un(n)?(0,W.jsx)(Ka,{config:n,data:O,fetching:L,isPreview:a,mappingDataByProjectId:g}):(0,W.jsx)(Fa,{error:"Unsupported dashboard item type"})};var Ll=r(7883),El={};function Rl(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}El.styleTagTransform=ve(),El.setAttributes=pe(),El.insert=ue().bind(null,"head"),El.domAPI=ce(),El.insertStyleElement=he(),le()(Ll.A,El),Ll.A&&Ll.A.locals&&Ll.A.locals;const Ul=e=>{var t,r;let n=e.item,i=e.interval,o=e.className,a=e.controls,l=e.isPreview,s=void 0!==l&&l,c=e.onExportData;const d=(h=(0,B.useState)(!1),f=2,function(e){if(Array.isArray(e))return e}(h)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(h,f)||function(e,t){if(e){if("string"==typeof e)return Rl(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Rl(e,t):void 0}}(h,f)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=d[0],m=d[1],p=(0,vt.By)(null===(t=n.config.series[0])||void 0===t||null===(t=t.configParams)||void 0===t?void 0:t.projectId,["pageLoads","metricGroups","rumSnippet"]),g=Tn(n.config,null==p||null===(r=p.rumSnippet)||void 0===r?void 0:r.rumCustomMappings);var h,f;return(0,W.jsxs)(j.U5,{title:g,boxHeading:!0,padded:!1,noMargin:!0,className:Ti()(o,"border-color-grey5 overflow-hidden"),noShadow:s,contentAfterTitle:u?(0,W.jsx)(S.m,{overlay:"Some of the data in this chart is unavailable as you don't have access to the relevant project.",children:(0,W.jsx)("span",{className:"badge badge-bg-orange1",children:"Some data is unavailable"})}):null,children:[(0,W.jsx)(Ol,{config:n.config,interval:i,isPreview:s,onPartialData:m,onExportData:c}),a?(0,W.jsx)("div",{className:"dashboard-item-controls-container"+(g?" dashboard-item-controls-container__with-title":""),children:a}):null]})};var Bl=r(52378);function $l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Vl(e,t,r,n,i){const o=t.map(Gl),a=(0,T.compact)(t.flatMap(e=>Object.keys(e).map(Wl))),l=[...(0,T.uniq)(a),...r.filter(e=>!a.includes(e))];return"json"===e?function(e,t,r,n){const i=[];r&&i.push({warning:r}),n&&i.push({info:n}),i.push(...e);const o=ql(i,t);return`[${i.map(e=>JSON.stringify(e,o,2)).join(",")}]`}(o,l,n,i):function(e,t,r,n){if(0===e.length)return"No data found";const i=[];r&&i.push(`WARNING: ${r}`),n&&i.push(n);const o=ql(e,t);i.push(o.map(Xl).join(","));const a=e.map(e=>function(e,t){return t.map(t=>{const r=e[t];return"string"==typeof r?`"${r.replace(/"/g,'""')}"`:"number"==typeof r?r:""}).join(",")}(e,o));return i.push(...a),i.join("\n")}(o,l,n,i)}const Hl=/^createdAt(.*?)Timestamp$/;function Wl(e){return Hl.exec(e)?"date":null}function Gl(e){return Object.fromEntries(Object.entries(e).map(t=>{let r=(a=2,function(e){if(Array.isArray(e))return e}(o=t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(o,a)||function(e,t){if(e){if("string"==typeof e)return $l(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?$l(e,t):void 0}}(o,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),n=r[0],i=r[1];var o,a;const l=Wl(n);return!l||l in e?[n,i]:[l,zl(i)]}))}function zl(e){const t="string"==typeof e?Number(e):e;if("number"!=typeof t||!Number.isFinite(t))return null;const r=new Date(t);return Number.isNaN(r.getTime())?null:r.toISOString()}function ql(e,t){const r=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return{columnOrderIndex:Object.fromEntries(t.map((e,t)=>[e,10*t])),maxColumnOrderValue:10*t.length}}(...t),n=r.columnOrderIndex,i=r.maxColumnOrderValue,o=e.map(Object.keys).flat(),a=[...new Set(o)];return(0,T.sortBy)(a,(e,t)=>{const r=n[e];return void 0!==r?r:t+i}).slice(0,k.chartMetrics.length+75)}function Xl(e){return/[",\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}const Kl=["csv","json"];function Yl(e,t){return`${e.replace(/[^a-zA-Z0-9 :\-_]/g,"").trim()||"chart-data"}.${t}`}const Jl=e=>{let t=e.exportData,r=t.title,n=t.rows,i=t.prioritizedColumnOrder,o=e.isOpen,a=e.onClose;const l=(0,B.useMemo)(()=>Kl.map(e=>({format:e,url:URL.createObjectURL(new Blob([Vl(e,n,i)],{type:"csv"===e?"text/csv":"application/json"})),downloadFileName:Yl(r,e)})),[n,i,r]);return(0,B.useEffect)(()=>()=>l.forEach(e=>URL.revokeObjectURL(e.url)),[l]),(0,W.jsx)(Bl.O,{isOpen:o,onClose:a,validationMessage:n.length?void 0:"There is no chart data to export.",items:[{title:r||"Chart data",detail:`${n.length} row${1===n.length?"":"s"} of data, as currently shown in the chart.`,formats:l}]})};var Ql=r(57142),Zl=r(83060),es={};es.styleTagTransform=ve(),es.setAttributes=pe(),es.insert=ue().bind(null,"head"),es.domAPI=ce(),es.insertStyleElement=he(),le()(Zl.A,es),Zl.A&&Zl.A.locals&&Zl.A.locals;const ts=["onClick"],rs=e=>{let t=e.onClick,r=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,ts);return(0,W.jsx)(ur.K,{...r,hoverStyle:{opacity:1},style:{opacity:.6,cursor:"pointer"},className:"px-1",icon:"more",type:"button","aria-label":"Item Options",onClick:e=>{e.stopPropagation(),t()}})},ns=e=>{let t=e.onExportClick;const r=[...t?[{icon:"download",label:"Export Data",onClick:t}]:[],{icon:"duplicate",label:"Duplicate Item",onClick:e.onDuplicateClick},{icon:"cancel",label:"Delete Item",onClick:e.onDeleteClick}];return(0,W.jsx)(vo.r,{title:"Item Options",Trigger:rs,background:"light",containWithin:window,innerStyle:{minWidth:"auto"},children:e=>{let t=e.onClose;return(0,W.jsx)("div",{className:"dashboard-item-menu",children:r.map(e=>(0,W.jsxs)("button",{type:"button",className:"dashboard-item-menu__option d-flex align-items-center w-100",onClick:r=>{r.stopPropagation(),t(),e.onClick()},children:[(0,B.createElement)(Ql.a[e.icon],{size:14}),(0,W.jsx)("span",{className:"ml-2",children:e.label})]},e.label))})}})};function is(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return os(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?os(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function os(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const as=e=>{let t=e.item,r=e.isDragging,n=void 0!==r&&r,i=e.isActive,o=void 0!==i&&i,a=e.activeResizeEdge,l=e.onEditItemClick,s=e.onDuplicateItem,c=e.onRemoveItem,d=e.onItemClick,u=e.onDragStart,m=e.onDragEnd,p=e.onResizeStart,g=e.interval,h=e.canEdit,f=void 0===h||h;const v=is((0,B.useState)(!1),2),b=v[0],x=v[1],y=(0,B.useCallback)(()=>{x(!0)},[]),j=(0,B.useCallback)(()=>{x(!1)},[]),w=is((0,B.useState)(!1),2),_=w[0],k=w[1],C=is((0,B.useState)(!1),2),A=C[0],N=C[1],I=is((0,B.useState)({title:"",rows:[],prioritizedColumnOrder:[]}),2),T=I[0],D=I[1],P=t.position,F=(0,B.useMemo)(()=>({"--item-column":`${P.x} / span ${P.width}`,"--item-row":`${P.y} / span ${P.height}`,"--item-row-span":P.height,zIndex:o?1e3:1}),[P,o]),M=e=>r=>{r.preventDefault(),r.stopPropagation(),p&&p(t,e,r)},O=b&&f,L=b&&f,E=_&&f;return(0,W.jsxs)("div",{className:`dashboard-grid-item dashboard-grid-item-${t.config.type} ${n?"is-dragging":""} ${L?"show-resize-handles":""}`,"data-testid":`dashboard-grid-item-${t.config.type}`,style:F,draggable:E,onDragStart:u,onDragEnd:()=>{k(!1),null==m||m()},onClick:d,onMouseEnter:y,onMouseLeave:j,children:[L&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{className:"dashboard-item-resize-handle resize-top "+("top"===a?"is-active":""),onPointerDown:M("top")}),(0,W.jsx)("div",{className:"dashboard-item-resize-handle resize-right "+("right"===a?"is-active":""),onPointerDown:M("right")}),(0,W.jsx)("div",{className:"dashboard-item-resize-handle resize-bottom "+("bottom"===a?"is-active":""),onPointerDown:M("bottom")}),(0,W.jsx)("div",{className:"dashboard-item-resize-handle resize-left "+("left"===a?"is-active":""),onPointerDown:M("left")}),(0,W.jsx)("div",{className:"dashboard-item-resize-handle resize-corner resize-top-left "+("top-left"===a?"is-active":""),onPointerDown:M("top-left")}),(0,W.jsx)("div",{className:"dashboard-item-resize-handle resize-corner resize-top-right "+("top-right"===a?"is-active":""),onPointerDown:M("top-right")}),(0,W.jsx)("div",{className:"dashboard-item-resize-handle resize-corner resize-bottom-left "+("bottom-left"===a?"is-active":""),onPointerDown:M("bottom-left")}),(0,W.jsx)("div",{className:"dashboard-item-resize-handle resize-corner resize-bottom-right "+("bottom-right"===a?"is-active":""),onPointerDown:M("bottom-right")})]}),O&&(0,W.jsx)("div",{className:"dashboard-item-resize-icon",onPointerDown:M("bottom-right"),children:(0,W.jsx)(Ko.K,{size:16})}),A&&(0,W.jsx)(Jl,{isOpen:!0,exportData:T,onClose:()=>N(!1)}),(0,W.jsx)(Ul,{item:t,interval:g,onExportData:D,className:`dashboard-item-content dashboard-item-content-${t.config.type} flex-1 d-flex flex-column`,controls:O?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(S.m,{overlay:"Edit Item",children:(0,W.jsx)("span",{className:"d-flex",children:(0,W.jsx)(ur.K,{hoverStyle:{opacity:1},style:{opacity:.6,cursor:"pointer"},className:"px-1",icon:"edit",type:"button","aria-label":"Edit Item",onClick:e=>{e.stopPropagation(),null==l||l(t.position)}})})}),(0,W.jsx)(ns,{onExportClick:Rn(t.config)?void 0:()=>N(!0),onDuplicateClick:()=>null==s?void 0:s(t),onDeleteClick:async()=>{await(0,Yo.Z)("Are you sure you want to delete this dashboard item?",{confirmLabel:"Delete"})&&(null==c||c(t.id))}}),(0,W.jsx)(ur.K,{hoverStyle:{opacity:1},style:{opacity:.6,cursor:"move"},className:"px-1",icon:"move",type:"button",onClick:e=>e.stopPropagation(),onPointerDown:()=>k(!0)})]}):void 0})]})},ls=16;function ss(e,t,r){if(!e)return null;if(!Number.isInteger(t)||t<=0)return null;if(r<=0)return null;const n=e.getBoundingClientRect(),i=n.width-ls*(t-1);if(i<=0)return null;const o=i/t;return{rect:n,columnWidth:o,rowHeight:r,clientToGrid(e,t){const r=e-n.left,i=t-n.top,a=r/(o+ls),l=i/(this.rowHeight+ls);return{column:Math.floor(a)+1,row:Math.floor(l)+1,columnFloat:a,rowFloat:l}},gridToPixels(e){return{left:(e.x-1)*(o+ls),top:(e.y-1)*(this.rowHeight+ls),width:e.width*o+(e.width-1)*ls,height:e.height*this.rowHeight+(e.height-1)*ls}},clampPosition(e){const r=Math.max(1,Math.min(e.width,t)),n=Math.max(1,e.height);return{x:Math.max(1,Math.min(e.x,t-r+1)),y:Math.max(1,e.y),width:r,height:n}}}}function cs(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ds(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ds(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ds(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function us(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const ms={right:(e,t,r,n)=>({...r,width:Math.min(Math.max(1,e-r.x+1),n-r.x+1)}),left:(e,t,r)=>{const n=Math.max(1,Math.min(e,r.x+r.width-1));return{...r,x:n,width:r.x+r.width-n}},bottom:(e,t,r)=>({...r,height:Math.max(1,t-r.y+1)}),top:(e,t,r)=>{const n=Math.max(1,Math.min(t,r.y+r.height-1));return{...r,y:n,height:r.y+r.height-n}},"top-left":(e,t,r,n)=>{const i=ms.top(e,t,r,n);return ms.left(e,t,i,n)},"top-right":(e,t,r,n)=>{const i=ms.top(e,t,r,n);return ms.right(e,t,i,n)},"bottom-left":(e,t,r,n)=>{const i=ms.bottom(e,t,r,n);return ms.left(e,t,i,n)},"bottom-right":(e,t,r,n)=>{const i=ms.bottom(e,t,r,n);return ms.right(e,t,i,n)}};function ps(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const gs=(0,B.forwardRef)(function(e,t){let r=e.config,n=e.onItemMove,i=e.onItemResize,o=e.onResizeEnd,a=e.onMoveEnd,l=e.onRemoveItem,s=e.onDuplicateItem,c=e.onEditItemClick,d=e.interval,u=e.canEdit,m=void 0===u||u;const p=(F=(0,B.useState)(null),M=2,function(e){if(Array.isArray(e))return e}(F)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(F,M)||function(e,t){if(e){if("string"==typeof e)return ps(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ps(e,t):void 0}}(F,M)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=p[0],h=p[1],f=(0,B.useRef)(null),v=function(e){let t=e.gridRef,r=e.gridColumns,n=e.gridRowHeight,i=e.items,o=e.onItemMove,a=e.onMoveEnd;const l=cs((0,B.useState)(null),2),s=l[0],c=l[1],d=cs((0,B.useState)(null),2),u=d[0],m=d[1],p=(0,B.useRef)({cols:0,rows:0});return{draggedItem:s,dropPosition:u,handleDragStart:(e,i)=>{c(e);const o=ss(t.current,r,n);if(!o)return;const a=i.clientX-o.rect.left,l=i.clientY-o.rect.top,s=Math.floor(a/(o.columnWidth+16))+1,d=Math.floor(l/(o.rowHeight+16))+1;p.current={cols:s-e.position.x,rows:d-e.position.y}},handleDragOver:e=>{var o,a;if(e.preventDefault(),!s)return;const l=ss(t.current,r,n);if(!l)return;const c=e.clientX-l.rect.left,d=e.clientY-l.rect.top,u=Math.max(1,Math.min(Math.floor(c/(l.columnWidth+16))+1,r)),g=Math.max(1,Math.floor(d/(l.rowHeight+16))+1),h=Math.max(1,Math.min(u-p.current.cols,r)),f=Math.max(1,g-p.current.rows),v=Fn(i.filter(e=>
1e.id!==s.id),r);if(null!==(o=null===(a=v[g-1])||void 0===a?void 0:a[u-1])&&void 0!==o&&o){const e=i.find(e=>e.id!==s.id&&u>=e.position.x&&u<e.position.x+e.position.width&&g>=e.position.y&&g<e.position.y+e.position.height),t=f+s.position.height,r=e?e.position.y+e.position.height:null,n=e&&t>r?r:f;return void m(l.clampPosition({x:h,y:n,width:s.position.width,height:s.position.height}))}const b=function(e){let t=e.occupancy,r=e.cursorCol,n=e.cursorRow,i=e.anchorCol,o=e.anchorRow,a=e.maxWidth,l=e.maxHeight,s=e.gridColumns,c=r;for(;c>1&&(null===(d=null===(u=t[n-1])||void 0===u?void 0:u[c-2])||void 0===d||!d);){var d,u;c--}let m=1;for(let e=c;e<=r;e++){let r=n;for(;r>1&&(null===(p=null===(g=t[r-2])||void 0===g?void 0:g[e-1])||void 0===p||!p);){var p,g;r--}m=Math.max(m,r)}let h=0;for(let e=0;e<s;e++){var f,v;const r=c-1+e;if(r>=s||null!==(f=null===(v=t[m-1])||void 0===v?void 0:v[r])&&void 0!==f&&f)break;h++}const b=Math.min(a,h),x=l+(n-m)+1;let y=0;for(let e=0;e<x;e++){const r=m-1+e;let n=!0;for(let e=0;e<h;e++){var j,w;const i=c-1+e;if(i>=s||null!==(j=null===(w=t[r])||void 0===w?void 0:w[i])&&void 0!==j&&j){n=!1;break}}if(!n)break;y++}const S=Math.min(l,y);return{x:Math.max(c,Math.min(i,c+h-b)),y:Math.max(m,Math.min(o,m+y-S)),width:b,height:S}}({occupancy:v,cursorCol:u,cursorRow:g,anchorCol:h,anchorRow:f,maxWidth:s.position.width,maxHeight:s.position.height,gridColumns:r}),x=b.x,y=b.y,j=b.width,w=b.height;m(l.clampPosition({x,y,width:Math.max(1,j),height:Math.max(1,w)}))},handleDragEnd:()=>{s&&u&&(null==o||o(s.id,u),null==a||a(s.id,u)),c(null),m(null),p.current={cols:0,rows:0}}}}({gridRef:f,gridColumns:r.gridColumns,gridRowHeight:r.gridRowHeight,items:r.items,onItemMove:n,onMoveEnd:a}),b=v.draggedItem,x=v.dropPosition,y=v.handleDragStart,j=v.handleDragOver,w=v.handleDragEnd,S=function(e){let t=e.gridRef,r=e.gridColumns,n=e.gridRowHeight,i=e.items,o=e.onItemResize,a=e.onResizeEnd;const l=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return us(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?us(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((0,B.useState)(null),2),s=l[0],c=l[1],d=(0,B.useCallback)((e,t,r)=>{r.stopPropagation(),c({item:e,edge:t,startPosition:e.position})},[]),u=(0,B.useCallback)(e=>{if(!s)return;const i=ss(t.current,r,n);if(!i)return;const a=i.clientToGrid(e.clientX,e.clientY),l=a.column,c=a.row,d=(0,ms[s.edge])(l,c,s.startPosition,r);null==o||o(s.item.id,d)},[s,r,n,t,o]),m=(0,B.useCallback)(()=>{if(s&&a){const e=i.find(e=>e.id===s.item.id);e&&a(e.id,e.position)}c(null)},[s,i,a]),p=(0,B.useRef)(u),g=(0,B.useRef)(m);return(0,B.useEffect)(()=>{p.current=u},[u]),(0,B.useEffect)(()=>{g.current=m},[m]),(0,B.useEffect)(()=>{if(!s)return;const e=e=>{p.current(e)},t=()=>{g.current()};return document.addEventListener("pointermove",e),document.addEventListener("pointerup",t),()=>{document.removeEventListener("pointermove",e),document.removeEventListener("pointerup",t)}},[s]),{resizingItem:s,handleResizeStart:d}}({gridRef:f,gridColumns:r.gridColumns,gridRowHeight:r.gridRowHeight,items:r.items,onItemResize:i,onResizeEnd:o}),_=S.resizingItem,k=S.handleResizeStart,C=(0,B.useMemo)(()=>({gridTemplateColumns:`repeat(${r.gridColumns}, 1fr)`,gridAutoRows:`${r.gridRowHeight}px`}),[r.gridColumns,r.gridRowHeight]),A=(0,B.useMemo)(()=>Fn(r.items,r.gridColumns),[r.items,r.gridColumns]),N=(0,B.useMemo)(()=>
1{if(_)return[];const e=function(e,t){const r=[],n=new Set;for(let i=0;i<e.length;i++)for(let o=0;o<t;o++){const a=`${i},${o}`;if(e[i][o]||n.has(a))continue;let l=0,s=0;for(let r=1;o+r<=t&&e[i]&&!e[i][o+r-1]&&!n.has(`${i},${o+r-1}`);r++)l=r;for(let t=1;i+t<=e.length;t++){let r=!0;for(let a=o;a<o+l;a++)if(!e[i+t-1]||e[i+t-1][a]||n.has(`${i+t-1},${a}`)){r=!1;break}if(!r)break;s=t}if(l>0&&s>0){for(let e=i;e<i+s;e++)for(let t=o;t<o+l;t++)n.add(`${e},${t}`);r.push({x:o+1,y:i+1,width:l,height:s})}}return r}(A,r.gridColumns);return e},[A,r.gridColumns,_]),I=(0,B.useMemo)(()=>{if(!x||!f.current)return;const e=ss(f.current,r.gridColumns,r.gridRowHeight);if(!e)return;const t=e.gridToPixels(x);return{opacity:1,left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`}},[x,r.gridColumns,r.gridRowHeight]),T=(0,B.useCallback)((e,t)=>{h(e.id),y(e,t)},[y]),D=(0,B.useCallback)((e,t,r)=>{h(e.id),k(e,t,r)},[k]),P=(0,B.useCallback)(e=>{f.current=e,"function"==typeof t?t(e):t&&(t.current=e)},[t]);var F,M;return(0,B.useEffect)(()=>{const e=e=>{var t;null!==(t=f.current)&&void 0!==t&&t.contains(e.target)||h(null)};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[]),(0,W.jsxs)("div",{ref:P,className:"dashboard-grid"+(0===r.items.length?" d-none":""),style:C,onDragOver:j,onDrop:w,"data-testid":"dashboard-grid",children:[r.items.map(e=>{const t=(null==_?void 0:_.item.id)===e.id?_.edge:void 0;return(0,W.jsx)(as,{item:e,isDragging:(null==b?void 0:b.id)===e.id,isActive:g===e.id,activeResizeEdge:t,onDragStart:t=>T(e,t),onDragEnd:w,onResizeStart:D,onRemoveItem:l,onDuplicateItem:s,onEditItemClick:t=>{h(e.id),null==c||c(t)},onItemClick:()=>h(e.id),interval:d,canEdit:m},e.id)}),(0,W.jsx)("div",{className:"dashboard-grid-drop-placeholder-container "+(b?"is-dragging":""),children:(0,W.jsx)("div",{className:"dashboard-grid-drop-placeholder-inner",style:I})}),m&&N.map(e=>(0,W.jsx)(hs,{position:e,onClick:e=>null==c?void 0:c(e)},`placeholder-${e.x}-${e.y}-${e.width}-${e.height}`))]})}),hs=e=>{let t=e.position,r=e.onClick;const n=(0,B.useMemo)(()=>({gridColumn:`${t.x} / span ${t.width}`,gridRow:`${t.y} / span ${t.height}`}),[t]),i=(0,B.useCallback)(()=>{r(t)},[r,t]);return(0,W.jsx)("div",{className:"dashboard-grid-add-hover-placeholder-container",style:n,onClick:i,role:"button",tabIndex:0,"aria-label":"Add new dashboard item",children:(0,W.jsx)("div",{className:"dashboard-grid-add-hover-placeholder-inner",children:(0,W.jsxs)("div",{className:"add-placeholder-content",children:[(0,W.jsx)(y.c,{size:32}),(0,W.jsx)("span",{children:"Add Item"})]})})})};var fs=r(73074),vs=r(47166),bs=r(77370),xs=r(78998),ys=r(52611),js=r(68500),ws=r(18808),Ss=r(59880),_s=r(20966);const ks={"bar-chart":{maxSeries:10,maxFieldsPerSeries:20},"timeseries-chart":{maxSeries:10,maxFieldsPerSeries:20},table:{maxSeries:10,maxFieldsPerSeries:20},metric:{maxSeries:1,maxFieldsPerSeries:1},text:{maxSeries:1,maxFieldsPerSeries:1},histogram:{maxSeries:1,maxFieldsPerSeries:10},scatter:{maxSeries:1,maxFieldsPerSeries:2}};function Cs(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function As(e,t){var r,n,i;const o=null!==(r=null!==(n=null===(i=e.configParams)||void 0===i?void 0:i.dataType)&&void 0!==n?n:In(e))&&void 0!==r?r:"rum",a=(0,B.useMemo)(()=>{var e;return(null!==(e=null==t?void 0:t.savedFilters)&&void 0!==e?e:[]).filter(e=>e.type===("lab_tests"===o?"lab":"rum"))},[null==t?void 0:t.savedFilters,o]),l=a.find(t=>t.id===e.savedFilterId);return{dataDomain:o,savedFilters:a,savedFilter:l}}const Ns=e=>{let t=e.item,r=e.project,n=e.seriesIndex,i=e.setAnchorElement;const o=(0,U.j7)().setFieldValue,a=As(t,r),l=a.savedFilters,s=a.savedFilter;return(0,W.jsx)(wo,{savedFilters:l,savedFilter:s,renderInPortal:!0,onFilterSelected:e=>{o(`config.series.${n}.savedFilterId`,e?Number(e):void 0),o(`config.series.${n}.removedSavedFilterFields`,void 0),o(`config.series.${n}.dimensionsFilters`,[]),i(null)}})},Is=e=>{var t,r;let n=e.item,i=e.setAnchorElement,o=e.anchorElement,a=e.seriesIndex,l=e.project;const s=(0,U.j7)(),c=s.setFieldValue,d=s.values,u=n.dimensionsFilters,m=As(n,l).dataDomain,p=(0,B.useMemo)(()=>{var e;return ti(n,m,null!==(e=null==l?void 0:l.savedFilters)&&void 0!==e?e:[])},[n,m,null==l?void 0:l.savedFilters]),g=(0,B.useMemo)(()=>ri(u,p),[u,p]),h=(w=(0,B.useState)(""),S=2,function(e){if(Array.isArray(e))return e}(w)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(w,S)||function(e,t){if(e){if("string"==typeof e)return Cs(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Cs(e,t):void 0}}(w,S)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=h[0],v=h[1],b=(0,B.useCallback)(e=>{var t;const r=null!==(t=n.removedSavedFilterFields)&&void 0!==t?t:[];r.includes(e)||c(`config.series.${a}.removedSavedFilterFields`,[...r,e])},[n.removedSavedFilterFields,a,c]),x=(0,B.useCallback)(e=>{const t=function(e){var t;let r=e.filterName,n=e.filterQueryType,i=e.dataType,o=e.filterValue;const a=/not/i.test(n)?"EXCLUDE":"INCLUDE";if(0===(null===(t=o.filter(e=>null!=e))||void 0===t?void 0:t.length))return null;if("number"===i){const e=Bn(r,a,o);return e?[e]:null}if("text"===i){const e=/match/i.test(n)?"REGEXP_PARTIAL_MATCH":"EQUALS";return o.map(t=>"EQUALS"===e&&"null"===t?{fieldName:r,operator:"IS_NULL",values:[],type:a}:{operator:e,fieldName:r,type:a,values:["REGEXP_PARTIAL_MATCH"===e?Nn(t):t]})}if("unknown"===i||"enum"===i){const e=o,t=e.includes("null"),n=e.filter(e=>"null"!==e),i=[];return n.length>0&&i.push({fieldName:r,operator:"IN_LIST",values:n,type:a}),t&&i.push({fieldName:r,operator:"IS_NULL",values:[],type:a}),i}throw new Error(`Unsupported data type: ${i}`)}(e),r=u.findIndex(e=>{var t;return(null===(t=e[0])||void 0===t?void 0:t.fieldName)===f});if(!(f&&"__new__"!==f&&-1===r&&p.some(e=>{var t;return(null===(t=e[0])||void 0===t?void 0:t.fieldName)===f}))||t&&e.filterName===f||b(f),f&&"__new__"!==f&&-1!==r){const e=u.map((e,n)=>n!==r?e:t?Array.isArray(t)?t:[t]:[]);c(`config.series.${a}.dimensionsFilters`,e.filter(e=>e.length>0))}else t&&c(`config.series.${a}.dimensionsFilters`,[...u,Array.isArray(t)?t:[t]]);v(""),i(null)},[b,u,f,p,a,c,v,i]),y=(0,B.useMemo)(()=>{var e,t,r,n,i,o;return{rumPageGroups:null==l||null===(e=l.rumSnippet)||void 0===e?void 0:e.rumPageGroups,rumCustomMappings:null==l||null===(t=l.rumSnippet)||void 0===t?void 0:t.rumCustomMappings,rumSnippetConfig:null==l||null===(r=l.rumSnippet)||void 0===r?void 0:r.config,devices:null!==(n=null==l?void 0:l.devices)&&void 0!==n?n:(0,hi.A)((0,fi.A)("id"),null!==(i=null==l||null===(o=l.pageLoads)||void 0===o?void 0:o.map(e=>e.device))&&void 0!==i?i:[]),pageLoads:null==l?void 0:l.pageLoads}},[null==l?void 0:l.rumSnippet,null==l?void 0:l.devices,null==l?void 0:l.pageLoads]),j=(0,B.useMemo)(()=>{if(f&&"__new__"!==f){const e=g.find(e=>{var t;return(null===(t=e[0])||void 0===t?void 0:t.fieldName)===f});if(e)return $n(e)}return{attributeFilter:"__new__"===f?"":f,filterQueryType:"is",filterValue:[]}},[f,g]);var w,S;return(0,W.jsxs)("div",{className:"d-flex align-items-center gap-xxsm mt-1",children:[o?(0,W.jsx)(ho,{flattenFilterAttributeList:"lab_tests"===m,projectId:null==l?void 0:l.id,project:"lab_tests"===m?l:void 0,anchorElement:o,onPopoverClick:e=>{e.stopPropagation()},onCancel:()=>{v(""),i(null)},onApply:x,mappingData:y,dataDomain:m,initialFilter:j,anchorAlignment:window.innerWidth<1024||"histogram"===d.config.type||"scatter"===d.config.type?"left":"right",filtersInUse:[]}):null,null!=g&&g.length?(0,W.jsx)(Co,{filters:vn(g.flatMap(e=>$n(e)).filter(e=>null!==e).map(e=>({filterName:e.attributeFilter,filterValue:e.filterValue,filterType:e.filterQueryType})),{dataDomain:m,testIdPrefix:"custom-dashboard-filter",additionalData:{rumPageGroups:null==l||null===(t=l.rumSnippet)||void 0===t?void 0:t.rumPageGroups,rumCustomMappings:null==l||null===(r=l.rumSnippet)||void 0===r?void 0:r.rumCustomMappings,devices:null==l?void 0:l.devices,pageLoads:null==l?void 0:l.pageLoads}}),onClick:(e,t)=>{v(e),i(t)},onDelete:e=>{u.some(t=>{var r;return(null===(r=t[0])||void 0===r?void 0:r.fieldName)===e})&&c(`config.series.${a}.dimensionsFilters`,u.map(t=>t.filter(t=>t.fieldName!==e)).filter(e=>e.length>0)),p.some(t=>{var r;return(null===(r=t[0])||void 0===r?void 0:r.fieldName)===e})&&b(e)}}):null,(0,W.jsx)(dr.$,{theme:"custom",className:"filter-button py-1 px-0",onClick:()=>{v("__new__")},children:"+ Add Filter"})]})};var Ts=r(44422),Ds=r.n(Ts);const Ps=function(e){return(0,W.jsx)(Yr.c.Option,{...e,children:(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)("div",{style:{height:16,marginRight:10},children:(0,W.jsx)(ki.x,{optionValue:e.data.value})}),(0,W.jsx)("div",{children:e.data.label})]})})},Fs=function(e){return(0,W.jsx)(Yr.c.SingleValue,{...e,children:(0,W.jsxs)("div",{className:"d-flex align-items-center",style:{lineHeight:"1em"},children:[(0,W.jsx)("div",{style:{height:16,marginRight:10},children:(0,W.jsx)(ki.x,{optionValue:e.data.value})}),(0,W.jsx)("div",{children:e.data.label})]})})},Ms=e=>{let t=e.item,r=e.project,n=e.anchorElement,i=e.seriesIndex,o=e.maxGroupByItems,a=void 0===o?1:o,l=e.detailType,s=e.setAnchorElement;const c=`group-by-select-${i}`,d=(0,U.j7)(),u=d.setFieldValue,m=d.values,p=window.innerWidth<1024||"histogram"===m.config.type||"scatter"===m.config.type?void 0:300,g=t.configParams.dataType,h=(e,t)=>Xr(e,t).title,f=(0,B.useMemo)(()=>
1{if(!g)return[];if("rum"===g){const e=new Set(hr.TF);return uo.E.map(t=>({label:t.label,options:t.keys.filter(t=>e.has(t)).map(e=>{var t;return{value:e,label:h(e,null!==(t=null==r?void 0:r.rumSnippet)&&void 0!==t?t:void 0),dataDomain:"rum"}})})).filter(e=>e.options.length>0)}const e=new Set(Object.keys($r));return co.map(t=>({label:t.label,options:t.keys.filter(t=>e.has(t)).map(e=>{var t;return{value:e,label:h(e,null!==(t=null==r?void 0:r.rumSnippet)&&void 0!==t?t:void 0),dataDomain:"lab_tests"}})})).filter(e=>e.options.length>0)},[g,null==r?void 0:r.rumSnippet]),v=(0,B.useCallback)(e=>{var t;if(!e)return void u(`config.series.${i}.groupByDimensions`,[]);const r=null!==(t=m.config.series[i].groupByDimensions)&&void 0!==t?t:[],n=r.filter(t=>t.name!==e);n.length===r.length?u(`config.series.${i}.groupByDimensions`,[...r.filter((e,t)=>t+1<a),{name:e,type:"dimension"}]):u(`config.series.${i}.groupByDimensions`,n)},[m.config.series,i,a,u]),b=(0,B.useCallback)((e,t)=>{if(!e||"input-change"!==t.action)return;const r=document.querySelector(`#${c} input`);var n,i;null!=r&&r.closest(".react-select__control--menu-is-open")||null==r||null===(n=r.closest(".react-select__control"))||void 0===n||null===(i=n.click)||void 0===i||i.call(n)},[c]),x=(0,B.useCallback)(e=>{var t;const r=document.querySelector(`#${c}`);"Escape"!==e.key||!r||null!==(t=r.querySelector("input"))&&void 0!==t&&t.value.length||null==r||!r.querySelector(".react-select__control--menu-is-open")||(e.preventDefault(),e.stopPropagation(),s(null))},[s,c]);return(0,W.jsx)("div",{className:"d-flex align-items-center gap-xxsm",children:(0,W.jsxs)("div",{className:"w-100",children:[(0,W.jsx)(Yt.m,{small:!0,id:c,maxMenuHeight:305,menuIsOpen:!!n&&"standard"===l,name:`config.series.${i}.groupByDimensions.0.name`,onSelection:v,options:f,placeholder:"None",isClearable:!0,defaultMenuIsOpen:!0,menuPortalTarget:document.body,components:{Option:Ps,SingleValue:Fs},filterOption:(e,t)=>e.label.toLowerCase().includes(t.toLowerCase()),onKeyDown:x,classNames:{menuPortal:()=>"react-select-container"},onInputChange:b,reactSelectStyles:{menuPortal:e=>{var t,r;return{...e,zIndex:5e6,marginTop:6,marginLeft:-12,width:null!=p?p:e.width,left:p?(null!==(t=e.left)&&void 0!==t?t:0)-(null!=p?p:0)+(null!==(r=null==n?void 0:n.getBoundingClientRect().width)&&void 0!==r?r:0):e.left}},container:e=>({...e,border:"1px solid transparent !important",background:"transparent !important",padding:"0 !important"}),valueContainer:e=>({...e,padding:"0 !important",gap:"0.25rem"}),singleValue:e=>({...e,paddingLeft:0,marginLeft:0}),control:()=>({display:"flex",alignItems:"center",border:"1px solid transparent !important",background:"transparent !important",padding:"0 !important"}),clearIndicator:e=>({...e,paddingTop:0,paddingBottom:0,paddingRight:2,color:"var(--selectIndicator) !important"}),dropdownIndicator:e=>({...e,color:"var(--selectIndicator) !important",paddingLeft:2,paddingRight:0,marginRight:-3}),placeholder:e=>({...e,paddingLeft:0,marginLeft:0,color:"var(--formPlaceholder) !important"}),input:e=>({...e,paddingLeft:0,marginLeft:0}),indicatorSeparator:e=>{var t;return{...e,backgroundColor:"var(--selectIndicator) !important",display:null!==(t=m.config.series[i].groupByDimensions)&&void 0!==t&&t.length?e.display:"none"}}}}),n&&"advanced"===l?(0,W.jsx)(pi.A,{anchorElement:n,onClose:()=>s(null),onClick:e=>e.stopPropagation(),anchorAlignment:"right",children:(0,W.jsx)(Os,{seriesIndex:i,dataType:g,project:r})}):null]})})};function Os(e){let t=e.seriesIndex,r=e.dataType,n=e.project;const i=(0,U.j7)().values,o=Ds()(["config","series",t,"metricFields"],i),a=(0,B.useMemo)(()=>{var e;return[..."rum"===r?[{value:"views",label:"Views"}]:[],...null!==(e=null==o?void 0:o.map((e,r)=>({value:e.name,label:Oa(e.name,t,r,n,i.config.displayOptions)})))&&void 0!==e?e:[]]},[r,o,i,t,n]);return(0,W.jsxs)("div",{style:{marginTop:12},children:[(0,W.jsx)("label",{className:"label",htmlFor:"maxNumberOfGroups",children:"Return the"}),(0,W.jsxs)("div",{className:"d-flex gap-xsm align-items-center justify-content-between",children:[(0,W.jsx)(U.D0,{type:"number",id:"maxNumberOfGroups",name:`config.displayOptions.series.${t}.maxNumberOfGroups`,className:"form-control small",defaultValue:ea(i.config.type)}),(0,W.jsx)(Ls,{seriesIndex:t})]}),(0,W.jsx)("div",{className:"mt-2",children:(0,W.jsx)("label",{className:"label mt-0",htmlFor:"maxNumberOfGroupsBy",children:"Ordered By"})}),(0,W.jsx)(Yt.m,{small:!0,id:"maxNumberOfGroupsBy",name:`config.displayOptions.series.${t}.maxNumberOfGroupsCondition`,options:a,defaultValue:a[0]})]})}function Ls(e){let t=e.seriesIndex;const r=(0,U.j7)(),n=r.values,i=r.setFieldValue;return(0,W.jsx)(Yi,{groupName:"orderDirection",children:Es.map(e=>{var r,o;const a=null!==(r=null===(o=n.config.displayOptions.series)||void 0===o||null===(o=o[t])||void 0===o?void 0:o.maxNumberOfGroupsOrdering)&&void 0!==r?r:"desc",l=e.value===a;return(0,W.jsx)("button",{type:"button",className:Ti()("btn btn-underline btn-xsm",{"color-blue1":l,"color-coldGrey1":!l,"border-bottom-2":l,"border-color-blue1":l,active:l}),onClick:()=>{i(`config.displayOptions.series.${t}.maxNumberOfGroupsOrdering`,e.value)},children:e.title},e.value)})})}const Es=[{value:"asc",title:"Lowest"},{value:"desc",title:"Highest"}];
1var Rs=r(69174),Us=r(13758),Bs=r(27456),$s=r(98804),Vs=r(61152),Hs=r(70642),Ws=r(25744),Gs=r(11813);function zs(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const qs=e=>(0,W.jsxs)(Yr.c.Menu,{...e,children:[(0,W.jsx)("div",{className:"domain-filter-holder",style:{position:"sticky",top:0,background:"var(--white1)",paddingTop:4,paddingBottom:4,paddingLeft:4,paddingRight:4,zIndex:1},children:(0,W.jsx)("div",{className:"ignore-body-click metric-domain-filter h5",onClick:e=>{e.stopPropagation()},children:(0,W.jsx)(H.L,{options:e.selectProps.domainFilterOptions,optionValue:e.selectProps.domainFilterValue,onSelectOption:e.selectProps.handleDomainFilterChange,className:"w-100",style:{display:"block"},attributes:{"data-testid":"metric-domain-filter-options"}})})}),e.children]});function Xs(e){let t=e.domainRestriction,r=e.selectId,n=e.selectedMetricNames;const i=(c=(0,B.useState)({value:"all",title:"All",domain:"lab_tests",icon:(0,W.jsx)(Gs.f,{size:12})}),d=2,function(e){if(Array.isArray(e))return e}(c)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(c,d)||function(e,t){if(e){if("string"==typeof e)return zs(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?zs(e,t):void 0}}(c,d)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=i[0],a=i[1],l=(0,B.useMemo)(()=>[{value:"lab",title:"Lab",domain:"lab_tests",icon:(0,W.jsx)(Uo.j,{size:12})},{value:"rum",title:"RUM",domain:"rum",icon:(0,W.jsx)(Ro.k,{size:12})},{value:"crux",title:"CrUX",domain:"lab_tests",icon:(0,W.jsx)(Ws.W,{size:12})},{value:"all",title:"All",domain:"lab_tests",icon:(0,W.jsx)(Gs.f,{size:12})}].filter(e=>!t||e.domain===t),[t]),s=(0,B.useCallback)(e=>{var t,n;a(l.find(t=>t.value===e)),null===(t=document.querySelector(`#${r} input`))||void 0===t||null===(n=t.focus)||void 0===n||n.call(t)},[r,l]);var c,d;(0,B.useEffect)(()=>{t&&o.domain!==t&&a(l.find(e=>"all"===e.value))},[t,o,l]);const u=(0,B.useCallback)(e=>"all"===o.value?e:e.map(e=>{if(!("options"in e))return e;const t=e.options.filter(e=>!!n.has(e.value)||("rum"===o.value?"rum"===e.sourceName:"lab"===o.value?"lab_tests"===e.sourceName:"crux"!==o.value||"crux"===e.sourceName));return{...e,options:t}}),[o,n]);return{domainFilter:o,setDomainFilter:a,domainFilterOptions:l,handleDomainFilterChange:s,filterGroupsByDomain:u}}const Ks=[],Ys=(0,fi.A)("name"),Js=(0,Bs.A)(Ys,$s.A),Qs=e=>{var t;let r=e.maxFields,n=void 0===r?1:r,i=e.maxSeries,o=void 0===i?1/0:i,a=e.item,l=e.project,s=e.anchorElement,c=e.seriesIndex,d=e.detailType,u=e.setAnchorElement;const m=(0,U.j7)(),p=m.setFieldValue,g=m.values,h=a.configParams.dataType,f=null!==(t=a.metricFields)&&void 0!==t?t:Ks,v=(0,B.useRef)(f.length),b=function(e){if(!e)return"lab_tests"}(!(null==l||!l.rumSnippet)),x=(0,B.useMemo)(()=>{const e="lab_tests"===b?[]:mo.map(e=>({label:e.label,options:e.metrics.map(e=>{var t,r,n;return{value:e,label:null!==(t=null===(r=(0,wn.nW)(e,null!==(n=null==l?void 0:l.rumSnippet)&&void 0!==n?n:void 0))||void 0===r?void 0:r.title)&&void 0!==t?t:"",sourceName:(0,N.nH)("rum",e)}}).filter(e=>e.label)})),t=(0,Us.eu)().map(e=>({label:e.label,options:e.options.map(e=>{var t,r;return{value:e.value,label:null!==(t=null===(r=(0,wn.nW)(e.value))||void 0===r?void 0:r.title)&&void 0!==t?t:"",sourceName:(0,N.nH)("lab_tests",e.value)}})}));return b?t:"lab_tests"===h?[...t,...e]:[...e,...t]},[b,null==l?void 0:l.rumSnippet,h]),y=1!==n,j=`metric-select-${c}`,w=(0,B.useCallback)(()=>{const e=document.querySelector(`#${j} input`);var t,r;null!=e&&e.closest(".react-select__control--menu-is-open")||null==e||null===(t=e.closest(".react-select__control"))||void 0===t||null===(r=t.click)||void 0===r||r.call(t)},[j]),S=(0,B.useCallback)((e,t)=>{e&&"input-change"===t.action&&w()},[w]),_=(0,B.useMemo)(()=>new Set(f.map(e=>e.name)),[f]),k=Xs({domainRestriction:b,selectId:j,selectedMetricNames:_}),C=k.domainFilter,A=k.setDomainFilter,I=k.domainFilterOptions,T=k.handleDomainFilterChange,D=k.filterGroupsByDomain,P=v.current>0&&0===f.length;(0,B.useEffect)(()=>{P&&"all"!==(null==C?void 0:C.value)&&A(I.find(e=>"all"===e.value))},[P,C,A,I]);const F=(0,B.useMemo)(()=>D(x),[D,x]),M=(0,B.useCallback)(e=>{p(`config.series.${c}.configParams.dataType`,e),p(`config.series.${c}.groupByDimensions`,[]),p(`config.series.${c}.dimensionsFilters`,[])},[c,p]),O=(0,B.useCallback)(e=>{if(!e||Array.isArray(e)&&0===e.length)return p(`config.series.${c}.metricFields`,[]),void w();const t=Array.isArray(e)?e:[e],r=t.length>n?[...t.slice(0,n-1),t[t.length-1]]:t,i=(0,Vr.Dg)(t.at(-1))?"rum":"lab_tests";if(i!==h&&f.length>=1){if(!(g.config.series.length<o))return alert("You've reached the maximum number of series. You can't mix RUM and lab test metrics on a single series."),void p(`config.series.${c}.metricFields`,f);const e=g.config.series[c],r={...e,metricFields:[{name:t.at(-1),type:"metric"}
1],groupByDimensions:[],dimensionsFilters:[],configParams:{...e.configParams,dataType:i}};return void p("config.series",[...g.config.series,r])}const a=r.map(e=>({name:e,type:"metric"})).filter(e=>(0,Vr.Dg)(e.name)===(0,Vr.Dg)(t.at(-1)));i!==h&&M(i),p(`config.series.${c}.metricFields`,a)},[h,c,n,o,f,g,p,M,w]);(0,B.useEffect)(()=>{v.current=f.length});const L=(0,B.useCallback)(e=>{var t;const r=document.querySelector(`#${j}`);"Escape"!==e.key||!r||null!==(t=r.querySelector("input"))&&void 0!==t&&t.value.length||null==r||!r.querySelector(".react-select__control--menu-is-open")||(e.preventDefault(),e.stopPropagation(),u(null))},[u,j]);return(0,W.jsx)("div",{className:"d-flex align-items-center gap-xxsm",children:(0,W.jsxs)("div",{className:"w-100",children:[(0,W.jsx)(Yt.m,{small:!0,menuIsOpen:!!s&&"standard"===d,name:`config.series.${c}.metricFields`,id:j,onSelection:O,options:F,placeholder:"Select metrics...",isClearable:!0,isMulti:y,menuPortalTarget:document.body,"data-testid":"metrics-selector",onInputChange:S,onKeyDown:L,components:{...Fi.qA,Menu:qs},domainFilterOptions:I,domainFilterValue:C.value,handleDomainFilterChange:T,classNames:{menuPortal:()=>"react-select-container"},reactSelectStyles:{menuPortal:e=>{var t;return{...e,zIndex:5e6,marginTop:6,marginLeft:-14,width:(null!==(t=e.width)&&void 0!==t?t:0)+18}},menu:e=>({...e,border:"1px solid var(--grey5)",boxShadow:"0px 4px 8px rgba(0, 0, 0, 0.1)",overflow:"hidden"}),container:e=>({...e,border:"1px solid transparent !important",background:"transparent !important",padding:"0 !important"}),valueContainer:e=>({...e,padding:"0 !important",gap:"0.25rem"}),control:()=>({display:"flex",alignItems:"center",border:"1px solid transparent !important",background:"transparent !important",padding:"0 !important"}),group:e=>e,groupHeading:e=>e,indicatorSeparator:e=>({...e,display:f.length?e.display:"none",backgroundColor:"var(--selectIndicator) !important"}),clearIndicator:e=>({...e,color:"var(--selectIndicator) !important",paddingRight:2}),dropdownIndicator:e=>({...e,color:"var(--selectIndicator) !important",paddingLeft:2,paddingRight:0,marginRight:-3}),singleValue:e=>({...e,paddingLeft:0,marginLeft:0}),input:e=>({...e,paddingLeft:0,marginLeft:0}),placeholder:e=>({...e,color:"var(--formPlaceholder) !important"})},getFormikValue:y?Ys:Js}),s&&"advanced"===d?(0,W.jsx)(pi.A,{anchorElement:s,onClose:()=>u(null),onClick:e=>e.stopPropagation(),anchorAlignment:"right",children:(0,W.jsx)(nc,{seriesIndex:c,project:l})}):null]})})},Zs={Option:(0,Hs.B)(function(e){var t;return(0,W.jsx)(Vs.JS,{label:e.data.name,isSelected:e.isSelected,icons:null!==(t=e.data.icons)&&void 0!==t?t:void 0})}),SingleValue:function(e){var t;return(0,W.jsx)(Yr.c.SingleValue,{...e,children:(0,W.jsx)(Vs.JS,{label:e.data.name,isSelected:!0,icons:null!==(t=e.data.icons)&&void 0!==t?t:void 0})})}},ec=(0,fi.A)("id"),tc={minWidth:300,maxWidth:300},rc={singleValue:e=>({...e,marginLeft:0,paddingLeft:0}),valueContainer:e=>({...e,paddingLeft:4})};function nc(e){var t,r;let n=e.seriesIndex,i=e.project;const o=(0,U.j7)(),l=o.setFieldValue,s=o.values,c=null!==(t=(0,Di.A)(["config","series",n,"metricFields"],s))&&void 0!==t?t:[],d=null!==(r=(0,Di.A)(["config","series",n,"aggregationFunctions"],s))&&void 0!==r?r:[],u=(0,a.A)(e=>e.userProjects);return(0,W.jsxs)("div",{style:tc,children:[(0,W.jsx)("label",{className:"label mt-0",htmlFor:"project-selector",children:"Project"}),(0,W.jsx)(Yt.m,{id:"project-selector",name:`config.series[${n}].configParams.projectId`,options:u,getOptionLabel:Ys,getOptionValue:ec,components:Zs,styles:rc,validate:T.noop}),(0,W.jsx)(ic,{aggregationFunctions:d,seriesIndex:n,setFieldValue:l}),(0,W.jsx)(oc,{metricFields:c,seriesIndex:n,project:i}),"scatter"===s.config.type?(0,W.jsx)("div",{className:"mt-2",children:(0,W.jsx)(Rs._,{name:"config.displayOptions.trendLine",title:"Show trend line"})}):null]})}function ic(e){let t=e.aggregationFunctions,r=e.seriesIndex,n=e.setFieldValue;const i=(0,U.j7)().values,o="metric"!==i.config.type&&"scatter"!==i.config.type,a=t.slice(0,o?void 0:1);return(0,W.jsxs)("div",{style:{marginTop:12},children:[(0,W.jsx)("div",{className:"label",children:"Aggregation"}),(0,W.jsx)("div",{className:"d-flex align-items-center",children:(0,W.jsx)(Va,{currentAggregationFunctions:a,onClick:e=>{const t=a.includes(e)?a.filter(t=>t!==e):[e,...a];n(`config.series.${r}.aggregationFunctions`,t.slice(0,o?void 0:1))},uiBehaviour:o?"toggle":"radio"})})]})}function oc(e){let t=e.metricFields,r=e.project,n=e.seriesIndex;const i=(0,U.j7)(),o=i.values,a=i.setFieldValue;return(0,W.jsx)("div",{style:{marginTop:8},children:t.map((e,t)=>{const i=Oa(e.name,n,t,r,o.config.displayOptions);return(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{className:"label",children:["Title for"," ",Oa(e.name,n,t,r,{})]}),(0,W.jsx)(U.D0,{name:`config.displayOptions.series.${n}.metricFields.${t}.title`,type:"text",className:"form-control",style:{padding:"0.25em",fontSize:13,boxShadow:"none"},defaultValue:i,onChange:e=>{a(`config.displayOptions.series.${n}.metricFields.${t}.title`,e.target.value)}})]},e.name)})})}
1var ac=r(61240),lc=r(49738);const sc=[];function cc(e){return{menuPortal:e=>{var t;return{...e,zIndex:5e6,marginTop:6,marginLeft:-14,width:(null!==(t=e.width)&&void 0!==t?t:0)+18}},menu:e=>({...e,border:"1px solid var(--grey5)",boxShadow:"0px 4px 8px rgba(0, 0, 0, 0.1)",overflow:"hidden"}),container:e=>({...e,border:"1px solid transparent !important",background:"transparent !important",padding:"0 !important"}),valueContainer:e=>({...e,padding:"0 !important",gap:"0.25rem"}),control:()=>({display:"flex",alignItems:"center",border:"1px solid transparent !important",background:"transparent !important",padding:"0 !important"}),indicatorSeparator:t=>({...t,display:e?t.display:"none",backgroundColor:"var(--selectIndicator) !important"}),clearIndicator:e=>({...e,color:"var(--selectIndicator) !important",paddingRight:2}),dropdownIndicator:e=>({...e,color:"var(--selectIndicator) !important",paddingLeft:2,paddingRight:0,marginRight:-3}),singleValue:e=>({...e,paddingLeft:0,marginLeft:0}),input:e=>({...e,paddingLeft:0,marginLeft:0}),placeholder:e=>({...e,color:"var(--formPlaceholder) !important"})}}const dc=e=>{var t;let r=e.item,n=e.project,i=e.anchorElement,o=e.seriesIndex,a=e.detailType,l=e.setAnchorElement,s=e.fieldIndex,c=void 0===s?0:s,d=e.multiMetric,u=void 0!==d&&d;const m=`metric-select-${o}-${c}`,p=(0,U.j7)(),g=p.setFieldValue,h=p.values,f=r.configParams.dataType,v=null!==(t=r.metricFields)&&void 0!==t?t:sc,b=null!=n&&n.rumSnippet?void 0:"lab_tests",x=(0,B.useMemo)(()=>{const e=function(e){let t=e.project,r=e.dataType,n=e.domainRestriction;const i="lab_tests"===n?[]:mo.map(e=>({label:e.label,options:e.metrics.map(e=>{var r,n,i;return{value:e,label:null!==(r=null===(n=(0,wn.nW)(e,null!==(i=null==t?void 0:t.rumSnippet)&&void 0!==i?i:void 0))||void 0===n?void 0:n.title)&&void 0!==r?r:"",sourceName:(0,N.nH)("rum",e)}}).filter(e=>e.label)})),o=(0,Us.eu)().map(e=>({label:e.label,options:e.options.map(e=>{var t,r;return{value:e.value,label:null!==(t=null===(r=(0,wn.nW)(e.value))||void 0===r?void 0:r.title)&&void 0!==t?t:"",sourceName:(0,N.nH)("lab_tests",e.value)}})}));return n?o:"lab_tests"===r?[...o,...i]:[...i,...o]}({project:n,dataType:f,domainRestriction:b});return 0!==c&&f?e.map(e=>"options"in e?{...e,options:e.options.filter(e=>"rum"===f?"rum"===e.sourceName:"rum"!==e.sourceName)}:e).filter(e=>!("options"in e)||e.options.length>0):e},[n,f,b,c]),y=0===c,j=(0,B.useMemo)(()=>new Set(v.map(e=>e.name)),[v]),w=Xs({domainRestriction:b,selectId:m,selectedMetricNames:j}),S=w.domainFilter,_=w.domainFilterOptions,k=w.handleDomainFilterChange,C=w.filterGroupsByDomain,A=(0,B.useMemo)(()=>y?C(x):x,[y,C,x]),I=(0,B.useCallback)(e=>{var t;const r=null!==(t=h.config.series[o].metricFields)&&void 0!==t?t:[];if(!e)return void g(`config.series.${o}.metricFields`,r.filter((e,t)=>t!==c));if(r.length<c)return;l(null);const n=(0,Vr.Dg)(e)?"rum":"lab_tests";if(n!==f&&r.length>0)return g(`config.series.${o}.metricFields`,[{name:e,type:"metric"}]),g(`config.series.${o}.configParams.dataType`,n),g(`config.series.${o}.groupByDimensions`,[]),void g(`config.series.${o}.dimensionsFilters`,[]);const i=r.slice();i[c]={name:e,type:"metric"},g(`config.series.${o}.metricFields`,i),f||g(`config.series.${o}.configParams.dataType`,n)},[h.config.series,o,c,f,g,l]),T=(0,B.useCallback)(e=>{var t;const r=null!==(t=h.config.series[o].metricFields)&&void 0!==t?t:[];if(r.length<c)return;const n=r.slice(0,c),i=(null!=e?e:[]).map(e=>({name:e.value,type:"metric"}));g(`config.series.${o}.metricFields`,[...n,...i]),!f&&i.length>0&&g(`config.series.${o}.configParams.dataType`,(0,Vr.Dg)(i[0].name)?"rum":"lab_tests")},[h.config.series,o,c,f,g]),D=(0,B.useMemo)(()=>x.flatMap(e=>"options"in e?e.options:[e]),[x]),P=(0,B.useMemo)(()=>v.slice(c).map(e=>{var t,r,i,o;return null!==(t=D.find(t=>t.value===e.name))&&void 0!==t?t:{value:e.name,label:null!==(r=null===(i=(0,wn.nW)(e.name,null!==(o=null==n?void 0:n.rumSnippet)&&void 0!==o?o:void 0))||void 0===i?void 0:i.title)&&void 0!==r?r:e.name,sourceName:(0,N.nH)((0,Vr.Dg)(e.name)?"rum":"lab_tests",e.name)}}),[v,c,D,null==n?void 0:n.rumSnippet]),F=(0,B.useCallback)((e,t)=>{if(!e||"input-change"!==t.action)return;const r=document.querySelector(`#${m} input`);var n,i;null!=r&&r.closest(".react-select__control--menu-is-open")||null==r||null===(n=r.closest(".react-select__control"))||void 0===n||null===(i=n.click)||void 0===i||i.call(n)},[m]),M=(0,B.useCallback)(e=>{var t;const r=document.querySelector(`#${m}`);"Escape"!==e.key||!r||null!==(t=r.querySelector("input"))&&void 0!==t&&t.value.length||null==r||!r.querySelector(".react-select__control--menu-is-open")||(e.preventDefault(),e.stopPropagation(),l(null))},[l,m]),O=u?P.length>0:!!v[c];return(0,W.jsx)("div",{className:"d-flex align-items-center gap-x
1xsm",children:(0,W.jsxs)("div",{className:"w-100",children:[u?(0,W.jsx)("div",{style:{display:"flex",width:"100%"},children:(0,W.jsx)("div",{style:{flexGrow:1},"data-testid":`metrics-selector-${c}`,children:(0,W.jsx)(Dt.l,{small:!0,id:m,menuIsOpen:!!i&&"standard"===a,value:P,onChange:e=>T(e),options:x,placeholder:"Select metrics...",isClearable:!0,isMulti:!0,menuPortalTarget:document.body,onInputChange:F,onKeyDown:M,components:{MenuList:ac.c,Option:lc.c,...Fi.qA},classNames:{option:()=>"ignore-body-click",menuPortal:()=>"react-select-container"},styles:cc(O)})})}):(0,W.jsx)(Yt.m,{small:!0,id:m,menuIsOpen:!!i&&"standard"===a,name:`config.series.${o}.metricFields.${c}.name`,onSelection:I,options:A,placeholder:"Select a metric...",isClearable:!0,menuPortalTarget:document.body,"data-testid":`metrics-selector-${c}`,onInputChange:F,onKeyDown:M,components:y?{...Fi.qA,Menu:qs}:Fi.qA,...y?{domainFilterOptions:_,domainFilterValue:S.value,handleDomainFilterChange:k}:{},classNames:{menuPortal:()=>"react-select-container"},reactSelectStyles:cc(O)}),i&&"advanced"===a?(0,W.jsx)(pi.A,{anchorElement:i,onClose:()=>l(null),onClick:e=>e.stopPropagation(),anchorAlignment:"right",children:(0,W.jsx)(nc,{seriesIndex:o,project:n})}):null]})})};function uc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return mc(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?mc(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mc(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function pc(e){let t=e.maxFieldsPerSeries,r=void 0===t?1:t,n=e.maxSeries,i=void 0===n?1/0:n,o=e.itemType;const a=(0,B.useCallback)(e=>
1e?(0,W.jsx)(gc,{itemType:o,maxFieldsPerSeries:r,maxSeries:i,arrayHelpers:e}):null,[o,r,i]);return(0,W.jsx)(U.ED,{name:"config.series",component:a})}function gc(e){var t;let r=e.itemType,n=e.maxFieldsPerSeries,i=e.maxSeries,o=e.arrayHelpers;const a=(0,l.O)().project,s=((null===(t=o.form.values.config)||void 0===t?void 0:t.series)||[]).slice(0,i),c=()=>{var e;const t=null!==(e=o.form.values.config.series.at(-1))&&void 0!==e?e:aa[r]({projectId:a.id,dataType:null!=a&&a.rumSnippet?"rum":"lab_tests"}).series[0];s.length>=i?o.replace(s.length-1,t):o.push(t)};return(0,W.jsxs)("div",{className:"position-relative",children:[(0,W.jsx)("label",{className:"mt-2 mb-0",children:"Series"}),(0,W.jsx)("div",{style:0===s.length?{minHeight:62.5}:void 0,children:0===s.length?(0,W.jsx)(dr.$,{theme:"subtle",size:"s",onClick:c,className:"edit-item-config__empty-state text-muted p-3 justify-content-center",children:"No series added yet. Click to start adding data to this dashboard item."}):(0,W.jsx)("div",{className:"d-flex flex-column",children:s.map((e,t)=>(0,W.jsx)(hc,{maxFields:n,maxSeries:i,item:s[t],index:t,itemType:r,currentProjectId:a.id,onRemove:()=>o.remove(t)},`series-pill-${t}`))})}),s.length<i?(0,W.jsxs)(dr.$,{"data-testid":"add-series-button",onClick:c,size:"xs",theme:"subtle",className:"position-absolute",style:{right:0,bottom:-20},children:[(0,W.jsx)(y.c,{size:10,className:"mr-1"}),"Add Series"]}):null]})}function hc(e){var t;let r=e.item,n=e.index,i=e.itemType,o=e.currentProjectId,l=e.onRemove,s=e.maxFields,c=e.maxSeries,d=void 0===c?10:c;const u=(0,Aa.D)(),m=(0,a.A)(e=>e.userProjects),p=(0,vt.By)(null!==(t=r.configParams.projectId)&&void 0!==t?t:o,["pageLoads","metricGroups","rumSnippet"]),g=uc((0,B.useState)(null),2),h=g[0],f=g[1],v=uc((0,B.useState)(null),2),b=v[0],x=v[1],y=uc((0,B.useState)("standard"),2),j=y[0],w=y[1],S=(0,B.useRef)(null);(0,B.useEffect)(()=>{function e(e){!S.current||S.current.contains(e.target)||e.target.closest(".ignore-body-click")||e.target.closest(".react-select__menu-list")||e.target.closest("[data-react-portal]")||(f(null),x(null))}return document.addEventListener("mousedown",e,!0),()=>document.removeEventListener("mousedown",e,!0)},[]),(0,B.useEffect)(()=>{function e(e){var t;"Escape"!==e.key||!h||document.querySelector(".react-select__control--menu-is-open")||null!==(t=document.querySelector(".react-select__control--menu-is-open input"))&&void 0!==t&&t.value||(f(null),x(null),e.stopImmediatePropagation())}if(h)return document.addEventListener("keydown",e,!0),()=>document.removeEventListener("keydown",e,!0)},[h,j]);const _="bar-chart"===i||"table"===i||"timeseries-chart"===i||"scatter"===i||"histogram"===i,k="histogram"===i||"scatter"===i,C=(()=>{const e=r.configParams.projectId;if(e&&Number(e)!==o){var t;const r=null===(t=m.find(t=>t.id===Number(e)))||void 0===t?void 0:t.name;return r?` (${r})`:""}return""})(),A=(e,t,r)=>{var n;const i=(null===(n=r.closest("[data-detail-type]"))||void 0===n?void 0:n.getAttribute("data-detail-type"))||"standard",o=h===e&&null===r.closest(".react-select__input-container")&&j===i;f(o?null:e),w(i),x(o?null:t)},N=(e,t)=>{f(t?e:null),x(t)};return(0,W.jsx)("div",{className:Ti()("edit-item-config__series-pill-container",{"edit-item-config__series-pill-container--stacked":k}),ref:S,children:(0,W.jsxs)("div",{className:"edit-item-config__series-pill",children:[(0,W.jsxs)("div",{className:"edit-item-config__series-pill-segments",children:[k?(0,W.jsxs)("div",{className:"edit-item-config__pill-segment-group",children:[(0,W.jsx)(fc,{segment:"metrics",title:`${"histogram"===i?"Histogram Metric":"X Metric"}${C}`,activeSegment:h,onClick:A,segmentDetailProps:{item:r,project:p,seriesIndex:n,maxFields:s,maxSeries:d,detailType:j,fieldIndex:0,setAnchorElement:e=>N("metrics",e),anchorElement:"metrics"===h?b:null},hasAdvancedConfig:!0,DetailRenderer:dc}),(0,W.jsx)(fc,{segment:"correlation",title:"histogram"===i?"Correlation Metric":"Y Metric",activeSegment:h,onClick:A,segmentDetailProps:{item:r,project:p,seriesIndex:n,maxFields:s,maxSeries:d,detailType:j,fieldIndex:1,multiMetric:"histogram"===i,setAnchorElement:e=>N("correlation",e),anchorElement:"correlation"===h?b:null}
1,DetailRenderer:dc})]}):(0,W.jsx)(fc,{segment:"metrics",title:(()=>{const e="metric"+(1===s?"":"s"),t=r.configParams.projectId;if(t&&Number(t)!==o){var n;const r=null===(n=m.find(e=>e.id===Number(t)))||void 0===n?void 0:n.name;return r?`${e} (${r})`:e}return e})(),activeSegment:h,onClick:A,segmentDetailProps:{item:r,project:p,seriesIndex:n,maxFields:s,maxSeries:d,detailType:j,setAnchorElement:e=>N("metrics",e),anchorElement:"metrics"===h?b:null},hasAdvancedConfig:!0,DetailRenderer:Qs}),_&&(0,W.jsx)(fc,{segment:"groupBy",title:"group by",activeSegment:h,onClick:A,segmentDetailProps:{item:r,project:p,seriesIndex:n,maxFields:s,detailType:j,setAnchorElement:e=>N("groupBy",e),anchorElement:"groupBy"===h?b:null},DetailRenderer:Ms,hasAdvancedConfig:!0}),(0,W.jsx)(fc,{segment:"filters",title:"filters",activeSegment:h,onClick:A,segmentDetailProps:{item:r,project:p,seriesIndex:n,maxFields:s,detailType:j,setAnchorElement:e=>N("filters",e),anchorElement:"filters"===h?b:null},DetailRenderer:Is,LabelExtra:Ns})]}),d>1?(0,W.jsx)(ur.K,{hoverColor:"red1",className:"edit-item-config__pill-remove",color:u?"coldGrey1":"coldGrey2",icon:"cancel",size:10,title:"Remove series",onClick:async e=>{e.stopPropagation(),await(0,Yo.Z)("Are you sure you want to remove this series?",{confirmLabel:"Remove"})&&l()}}):null]})})}function fc(e){let t=e.onClick,r=e.title,n=e.segment,i=e.activeSegment,o=e.segmentDetailProps,a=e.DetailRenderer,l=e.LabelExtra,s=e.hasAdvancedConfig;const c=(0,Aa.D)();return(0,W.jsxs)("div",{"data-detail-type":"standard",className:`edit-item-config__pill-segment edit-item-config__pill-segment--${n} ${i===n?"edit-item-config__pill-segment--active":""}`,onClick:e=>t(n,e.currentTarget,e.target),tabIndex:1,"data-testid":`series-pill-segment-${n}`,children:[r?(0,W.jsxs)("span",{className:"edit-item-config__segment-label",children:[(0,W.jsx)("span",{children:r}),s?(0,W.jsx)(ur.K,{className:Ti()("pb-1 px-2",{"color-coldGrey1":!c,"color-coldGrey2":c}),icon:"config",size:16,"data-detail-type":"advanced",iconProps:{strokeWidth:1.5},style:{marginRight:"-0.5rem",marginBottom:"-0.25rem"}}):null,l?(0,W.jsx)("span",{style:{textTransform:"none",letterSpacing:"normal",fontWeight:"normal"},onClick:e=>e.stopPropagation(),children:(0,W.jsx)(l,{...o})}):null]}):null,(0,W.jsx)("span",{className:"edit-item-config__segment-value",children:(0,W.jsx)(a,{...o})})]})}var vc=r(53924),bc={};bc.styleTagTransform=ve(),bc.setAttributes=pe(),bc.insert=ue().bind(null,"head"),bc.domAPI=ce(),bc.insertStyleElement=he(),le()(vc.A,bc),vc.A&&vc.A.locals&&vc.A.locals;var xc=r(52220);function yc(e){var t,r,n;let i=e.itemConfig,o=e.defaultProjectId;const a=(0,U.j7)().values,l=(0,vt.By)(null!==(t=null===(r=a.config.series[0])||void 0===r?void 0:r.configParams.projectId)&&void 0!==t?t:o,["pageLoads","metricGroups","rumSnippet"]),s=jc[i.type];return s?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("label",{className:"label",children:[(0,W.jsx)("span",{children:"Title"}),(0,W.jsx)(U.D0,{type:"text",name:"config.displayOptions.title",placeholder:"text"===a.config.type?"Q2 Goals":Tn(a.config,null==l||null===(n=l.rumSnippet)||void 0===n?void 0:n.rumCustomMappings)})]}),(0,W.jsx)(s,{config:i,defaultProjectId:o})]}):(0,W.jsx)("div",{children:"Unsupported item type"})}const jc={metric:function(){return(0,W.jsx)(pc,{itemType:"metric",...ks.metric})},"timeseries-chart":function(){return(0,W.jsx)(pc,{itemType:"timeseries-chart",...ks["timeseries-chart"]})},"bar-chart":function(){return(0,W.jsx)(pc,{itemType:"bar-chart",...ks["bar-chart"]})},table:function(){return(0,W.jsx)(pc,{itemType:"table",...ks.table})},text:function(){return(0,W.jsx)("div",{children:(0,W.jsxs)("div",{className:"form-group mb-0",children:[(0,W.jsx)("label",{htmlFor:"content",children:"Description"}),(0,W.jsx)(U.D0,{as:"textarea",id:"content",name:"config.displayOptions.content",className:"form-control",style:{height:150},placeholder:"We need to improve product page LCP by 500 ms.\n\nFind the list of Q2 performance tickets here: https://example.com"})]})})},histogram:function(){return(0,W.jsx)(pc,{itemType:"histogram",...ks.histogram})},scatter:function(){return(0,W.jsx)(pc,{itemType:"scatter",...ks.scatter})}};var wc=r(80843),Sc={};function _c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return kc(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?kc(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kc(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}Sc.styleTagTransform=ve(),Sc.setAttributes=pe(),Sc.insert=ue().bind(null,"head"),Sc.domAPI=ce(),Sc.insertStyleElement=he(),le()(wc.A,Sc),wc.A&&wc.A.locals&&wc.A.locals;const Cc=e=>{let t=e.item,r=e.interval;return(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"label",children:"Preview"}),(0,W.jsx)("div",{className:`preview-container preview-container-${t.config.type}`,children:(0,W.jsx)("div",{className:`preview-content preview-content-${t.config.type}`,children:(0,W.jsx)(Ul,{isPreview:!0,item:t,interval:r,className:"d-flex flex-column"})})})]})},Ac=e=>{let t=e.defaultProjectId,r=e.isOpen,n=e.onClose,i=e.onSave,o=e.item,a=e.interval;const l="edit-item-form",s=_c((0,B.useState)(!1),2),c=s[0],d=s[1],u=(0,B.useMemo)(()=>({dirty:c,setDirty:d}),[c,d]);return(0,W.jsx)(fs.U.Provider,{value:u,children:(0,W.jsx)(_s.a,{isOpen:r,onClose:async()=>{c&&!await(0,Yo.Z)("You have unsaved changes. Are you sure you want to close without saving?",{confirmLabel:"Discard changes"})||n()},contentStyle:{maxWidth:"min(90%, 1200px)",maxHeight:"80vh",overflow:"hidden",padding:0,display:"flex",flexDirection:"column"},modalContentStyle:{overflow:"auto",maxHeight:"100%"},shouldCloseOnOverlayClick:!0,"data-testid":"edit-item-modal",footer:(0,W.jsxs)("div",{className:"edit-item-modal__footer px-4",children:[(0,W.jsx)(Si.Z,{onClick:n,size:"s","data-testid":"cancel-edit-item"}),(0,W.jsx)(dr.$,{type:"submit",size:"s",icon:"save",form:l,"data-testid":"save-dashboard-item",children:"Save"})]}),children:(0,W.jsxs)("div",{className:"edit-item-modal p-4","data-testid":"edit-item-modal-content",children:[(0,W.jsx)("h2",{children:"Add Dashboard Item"}),(0,W.jsx)(U.l1,{initialValues:o,onSubmit:e=>{var t;const r=ks[e.config.type],o={...e,config:{...e.config,displayOptions:{...e.config.displayOptions,series:null===(t=e.config.displayOptions)||void 0===t||null===(t=t.series)||void 0===t?void 0:t.slice(0,r.maxSeries).map(e=>{var t;return e?{...e,metricFields:null===(t=e.metricFields)||void 0===t?void 0:t.slice(0,r.maxFieldsPerSeries)}:e})},series:"text"===e.config.type?[]:e.config.series.slice(0,r.maxSeries).map(t=>({...t,metricFields:t.metricFields.slice(0,r.maxFieldsPerSeries),timeDimension:Hn(e.config.type)?t.timeDimension:void 0}))}};i(o),n()},children:(0,W.jsx)(Tc,{formId:l,defaultProjectId:t,interval:a})})]})})})},Nc=[{title:"Metric",value:"metric",icon:(0,W.jsx)(Ss.c,{size:14})},{title:"Timeseries",value:"timeseries-chart",icon:(0,W.jsx)(js.C,{size:14})},{title:"Bar",value:"bar-chart",icon:(0,W.jsx)(bs.G,{size:14})},{title:"Histogram",value:"histogram",icon:(0,W.jsx)(vs.K,{size:14})},{title:"Scatter",value:"scatter",icon:(0,W.jsx)(ws.q,{size:14})},{title:"Table",value:"table",icon:(0,W.jsx)(xs.k,{size:14})},{title:"Text",value:"text",icon:(0,W.jsx)(ys.n,{size:14})}],Ic={metric:e=>{!function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(e);const t=(0,U.j7)().values,r="config.displayOptions.series.0.includePreviousPeriodComparison",n=(0,xc.A)(!1,r.split("."),t);return(0,W.jsx)("div",{className:"flex flex-col gap-2",children:(0,W.jsxs)("label",{children:[(0,W.jsx)(Rs._,{name:r,checked:n}),"Include previous period comparison"]})})},histogram:null,scatter:null,"timeseries-chart":null,"bar-chart":null,table:null,text:null};function Tc(e){let t=e.defaultProjectId,r=e.interval,n=e.formId;const i=(0,U.j7)(),o=i.setFieldValue,a=i.values,l=Ic[a.config.type],s=(0,B.useRef)(null),c=_c((0,B.useState)(null),2),d=c[0],u=c[1],m=(0,Aa.D)();return(0,W.jsxs)(U.lV,{className:"wide-form",id:n,children:[(0,W.jsx)(fs.A,{}),(0,W.jsxs)("div",{className:"form-group",children:[(0,W.jsx)("label",{htmlFor:"type",children:"Item Type"}),(0,W.jsxs)("div",{className:"d-flex gap-xxsm",children:[(0,W.jsx)(H.L,{options:Nc,optionValue:a.config.type,onSelectOption:e=>{o("config.type",e),function(e){let t=e.setFieldValue,r=e.config,n=e.newType;if(!Dc[n])throw new Error(`Unknown chart type ${n}`);Dc[n](r,t)}({setFieldValue:o,config:a.config,newType:e})},attributes:{"data-testid":"edit-item-type-options"}}),l&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(ur.K,{ref:s,icon:"config",size:16,className:Ti()("cursor-pointer",{"color-coldGrey1":!m,"color-coldGrey2":m}),onClick:()=>u(s.current)}),d?(0,W.jsx)(pi.A,{anchorElement:d,onClose:()=>u(null),anchorAlignment:"left",children:(0,W.jsx)(l,{item:a.config})}):null]})]})]}),(0,W.jsx)(yc,{itemConfig:a.config,defaultProjectId:t}),(0,W.jsx)(Cc,{item:a,interval:r})]})}const Dc={metric:T.noop,"timeseries-chart":(e,t)=>{e.series.every(e=>
1e.timeDimension)||e.series.forEach((e,r)=>{e.timeDimension||t(`config.series.${r}.timeDimension`,na)})},"bar-chart":T.noop,table:T.noop,text:T.noop,histogram:(e,t)=>{e.series.forEach((e,r)=>{var n,i,o;null!==(n=e.configParams)&&void 0!==n&&n.bucketCount||t(`config.series.${r}.configParams.bucketCount`,null!==(i=null===(o=aa.histogram({projectId:0}).series[0].configParams)||void 0===o?void 0:o.bucketCount)&&void 0!==i?i:40)})},scatter:(e,t)=>{e.series.forEach((e,r)=>{var n,i,o,a,l;const s=null!==(n=null===(i=e.configParams)||void 0===i?void 0:i.dataType)&&void 0!==n?n:"rum";null!==(o=e.groupByDimensions)&&void 0!==o&&o.length||t(`config.series.${r}.groupByDimensions`,["rum"===s?ia:oa]),2!==(null!==(a=null===(l=e.metricFields)||void 0===l?void 0:l.length)&&void 0!==a?a:0)&&t(`config.series.${r}.metricFields`,aa.scatter({projectId:0,dataType:s}).series[0].metricFields)})}};var Pc=r(216),Fc=r(54410);function Mc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Oc(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Oc(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Oc(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Lc={gridColumns:12,gridRowHeight:100,items:[]},Ec=e=>{let t=e.project,r=e.children;const n=(0,$.Zp)(),i=(0,B.useCallback)(()=>zn((0,d.u)(),Wn),[]),o=(0,B.useCallback)(e=>{const t=(0,d.u)(),r=Object.fromEntries(Object.keys(t).filter(e=>e.startsWith(Wn)).map(e=>[e,void 0]));n((0,_.Ao)(window.location.pathname+window.location.search,{...r,...qn(e,Wn)}))},[n]);return(0,W.jsx)(Or.u.Provider,{value:Mr({project:t,tab:"dashboards",parseQueryString:i,writeQueryString:o}),children:r})},Rc=(0,B.createContext)([]);function Uc(e){let t=e.children;return(0,W.jsx)("div",{className:"dashboard-name d-flex align-items-center",style:{fontSize:20},"data-testid":"dashboard-name",children:t})}const Bc=e=>{let t=e.projectId,r=e.navigate,n=e.dashboardId,i=e.interval;const o=(0,Or.n)().project,l=o.canEdit,s=(0,B.useContext)(cr.P1).annotationsVisible,c=Mc((0,B.useState)([]),2),m=c[0],p=c[1],g=Mc((0,B.useState)(!1),2),h=g[0],f=g[1],v=Mc((0,B.useState)(!1),2),b=v[0],x=v[1],S=Mc((0,B.useState)(!0),2),k=S[0],C=S[1],N=Mc((0,B.useState)(!1),2),I=N[0],T=N[1],D=Mc((0,B.useState)(()=>{const e=(0,d.u)();return Object.keys(e).some(e=>e.startsWith(Wn)&&e!==`${Wn}device`||e.startsWith(Gn)&&e!==`${Gn}pageLoad_deviceType`)}),2),P=D[0],F=D[1],M=Mc((0,B.useState)(null),2),O=M[0],L=M[1],E=Mc((0,B.useState)(Lc),2),R=E[0],U=E[1],$=(0,B.useCallback)(e=>{U(e.config||Lc)},[]),V=(0,B.useCallback)(e=>{U(e.config||Lc)},[]),H=(0,B.useCallback)(e=>{var t,n,i;if((0,Do.A)(null===(t=e.config)||void 0===t?void 0:t.globalFilters,null==R?void 0:R.globalFilters))return;const o=null!==(n=null===(i=e.config)||void 0===i?void 0:i.globalFilters)&&void 0!==n?n:{},a=o.rum,l=void 0===a?{}:a,s=o.lab,c=void 0===s?{}:s,u={},m=(0,d.u)();Object.keys(m).forEach(e=>{(e.startsWith(Wn)||e.startsWith(Gn))&&(u[e]=void 0)}),Object.entries(l).forEach(e=>{let t=Mc(e,2),r=t[0],n=t[1];return u[`${Wn}${r}`]=n}),Object.entries(c).forEach(e=>{let t=Mc(e,2),r=t[0],n=t[1];return u[`${Gn}${r}`]=n}),r((0,_.Ao)(window.location.pathname+window.location.search,u))},[r,R]),G=function(e){var t,r;let n=e.projectId,i=e.dashboardId,o=e.setLoading,l=e.onUndo,s=e.onRedo,c=e.handleHistoryNavigate;const d=Sn((0,B.useState)(null!==(t=null===(r=a.A.getState().models.customDashboardIndexByProjectId)||void 0===r||null===(r=r[n])||void 0===r?void 0:r[i])&&void 0!==t?t:null),2),m=d[0],p=d[1],g=(0,B.useRef)({history:[],historyLocation:0}),h=Sn((0,B.useState)({length:0,location:0}),2),f=h[0],v=h[1],b=(0,B.useCallback)(()=>{v({length:g.current.history.length,location:g.current.historyLocation})},[]),x=(0,B.useCallback)(async function(e){var t;let r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r&&e&&(g.current.history=[e,...g.current.history.slice(Math.max(g.current.historyLocation,
10))],g.current.historyLocation=0,b());const n=null!==(t=g.current.history[1])&&void 0!==t?t:null;try{p(e);const t=await async function(e){var t;const r=await u.FH.customDashboards.updateDashboard(e.id,{name:e.name,config:e.config});return{id:r.id,name:r.name,projectId:r.projectId,createdAt:new Date(r.createdAt),updatedAt:new Date(r.updatedAt),authorId:r.authorId,author:null!==(t=r.author)&&void 0!==t?t:null,config:r.config}}(e);0===g.current.historyLocation&&r&&g.current.history[0]===e&&p(t)}catch(t){throw g.current={history:g.current.history.filter(t=>t!==e),historyLocation:0},b(),p(n),t}},[b]);(0,B.useEffect)(()=>{let e=!1;return null==o||o(!0),(async()=>{try{const t=await async function(e,t){var r;const n=await u.FH.customDashboards.getDashboard(t);return n.projectId!==e?(console.error("Dashboard does not belong to the specified project"),null):{id:n.id,name:n.name,projectId:n.projectId,createdAt:new Date(n.createdAt),updatedAt:new Date(n.updatedAt),authorId:n.authorId,config:n.config,author:null!==(r=n.author)&&void 0!==r?r:null}}(n,i);e||(p(t),g.current={history:t?[t]:[],historyLocation:0},b())}catch{}finally{e||null==o||o(!1)}})(),()=>{e=!0}},[n,i,o,b]);const y=(0,B.useMemo)(()=>f.location>=f.length-1?null:async()=>{g.current.historyLocation=Math.min(g.current.history.length-1,g.current.historyLocation+1),b();const e=g.current.history[g.current.historyLocation];if(e){try{null==l||l(e)}catch{}try{null==c||c(e)}catch{}await x(e,!1)}},[f,x,b,l,c]),j=(0,B.useMemo)(()=>f.location<=0?null:async()=>{g.current.historyLocation=Math.max(g.current.historyLocation-1,0),b();const e=g.current.history[g.current.historyLocation];if(e){try{null==s||s(e)}catch{}try{null==c||c(e)}catch{}await x(e,!1)}},[f,x,b,s,c]);return(0,B.useEffect)(()=>{async function e(e){if("z"===e.key&&(e.ctrlKey||e.metaKey)){var t;const r=null!==(t=e.composedPath()[0])&&void 0!==t?t:e.target;if(r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||r instanceof HTMLElement&&r.isContentEditable)return;e.shiftKey?(e.preventDefault(),await(null==j?void 0:j())):(e.preventDefault(),await(null==y?void 0:y()))}}return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[y,j]),{dashboard:m,update:x,undo:y,redo:j}}({projectId:t,dashboardId:n,setLoading:C,onUndo:V,onRedo:$,handleHistoryNavigate:H}),z=G.dashboard,q=G.update,X=G.undo,K=G.redo,Y=Mc((0,B.useState)(!1),2),J=Y[0],Q=Y[1],Z=(0,B.useRef)(null),ee=(0,B.useMemo)(()=>{if(!O)return null;return R.items.find(e=>e.position.x===O.x&&e.position.y===O.y)||{id:Date.now().toString(36),position:O,config:aa["timeseries-chart"]({projectId:t,dataType:null!=o&&o.rumSnippet?"rum":"lab_tests"})}},[R,O,t,null==o?void 0:o.rumSnippet]);(0,B.useEffect)(()=>{if(!z)return;U(z.config||Lc);const e=(0,d.u)();if(!Object.keys(e).some(e=>e.startsWith(Wn)||e.startsWith(Gn))){var t,n;const e=null!==(t=null===(n=z.config)||void 0===n?void 0:n.globalFilters)&&void 0!==t?t:{},i=e.rum,o=e.lab,a={};i&&Object.entries(i).forEach(e=>{let t=Mc(e,2),r=t[0],n=t[1];return a[`${Wn}${r}`]=n}),o&&Object.entries(o).forEach(e=>{let t=Mc(e,2),r=t[0],n=t[1];return a[`${Gn}${r}`]=n}),Object.keys(a).length>0&&r((0,_.Ao)(window.location.pathname+window.location.search,a))}},[null==z?void 0:z.id]),(0,B.useEffect)(()=>{u.FH.getProject(t,{timelineAnnotations:!0}).then(e=>{null!=e&&e.timelineAnnotations&&p(e.timelineAnnotations)})},[t]),(0,B.useEffect)(()=>{window.scrollTo(0,0)},[n]);const te=(0,B.useCallback)(e=>{const t={timelineAnnotations:m},r=(0,gr.I)(t,e);p(r.timelineAnnotations)},[m]);(0,B.useEffect)(()=>{if(z&&!k&&l){const e=new URLSearchParams(window.location.search);if("true"===e.get("newItem")){L({x:1,y:1,width:12,height:4}),T(!0),e.delete("newItem");const t=`${window.location.pathname}${e.toString()?"?"+e.toString():""}`;window.history.replaceState({},"",t)}}},[z,k,l]);const re=(0,B.useCallback)((e,t)=>{U(r=>({...r,items:On(r.items,e,t)}))},[]),ne=(0,B.useCallback)((e,t)=>{U(r=>({...r,items:r.items.map(r=>r.id===e?{...r,position:t}:r)}))},[]),ie=(0,B.useCallback)(async(e,t)=>{if(z){const r={...R,items:R.items.map(r=>r.id===e?{...r,position:t}:r)};try{await q({...z,config:r})}catch(e){console.error("Failed to save dashboard resize:",e)}}},[z,R,q]),oe=(0,B.useCallback)(async(e,t)=>{if(z){const r={...R,items:On(R.items,e,t)};try{await q({...z,config:r})}catch(e){console.error("Failed to save dashboard move:",e)}}},[z,R,q]),ae=(0,B.useCallback)(async e=>{const t={...R,items:R.items.filter(t=>t.id!==e)};if(U(t),z)try{await q({...z,config:t})}catch(e){console.error("Failed to save dashboard item removal:",e)}},[z,R,q]),le=(0,B.useCallback)(e=>{L(e),T(!0)},[]),se=(0,B.useCallback)(async e=>{var t;if(!O||!z)return;const r={...e,id:null!==(t=e.id)&&void 0!==t?t:`item-${Date.now()}`,config:e.config},n={...R,items:[...R.items.filter(e=>!e.id||e.id!==r.id),r]};U(n);try{await q({...z,config:n})}catch(e){console.error("Failed to save dashboard item:",e)}L(null)},[O,z,R,q]),ce=(0,B.useMemo)(()=>0===R.items.length?1:Math.max(...R.items.map(e=>e.position.y+e.position.height-1))+1,[R.items]),de=(0,B.useCallback)(e=>{const t={x:1,y:ce,width:12,height:e.position.height},r={...structuredClone(e),id:`item_${Date.now()}_${Math.random().toString(36).slice(2)}`,position:t},n={...R,items:[...R.items,r]};
1U(n),z&&q({...z,config:n}),L(t),T(!0)},[R,z,ce,q]),ue=(0,B.useCallback)(async()=>{if(!z)return;const e=(0,d.u)(),t={},r={};Object.entries(e).forEach(e=>{let n=Mc(e,2),i=n[0],o=n[1];if(null==o)return;const a=o;i.startsWith(Wn)?t[i.slice(10)]=a:i.startsWith(Gn)&&(r[i.slice(10)]=a)});const n={...R,globalFilters:{rum:t,lab:r}};U(n),await q({...z,config:n})},[z,R,q]),me=(0,B.useCallback)(()=>{le({x:1,y:ce,width:12,height:4})},[ce,le]),pe=(0,B.useCallback)(e=>{e.preventDefault(),z&&Q(!0)},[z]),ge=(0,B.useCallback)(async e=>{if(e.preventDefault(),!z||!Z.current)return;const t=Z.current.textContent||"";try{x(!0),await q({...z,name:t}),Q(!1),f(!0)}catch(e){console.error("Failed to save dashboard name:",e)}finally{x(!1)}},[z,q]);(0,B.useEffect)(()=>{if(h){const e=setTimeout(()=>{f(!1)},1e3);return()=>clearTimeout(e)}},[h,f]);const he=(0,B.useCallback)(e=>{e.preventDefault(),Q(!1)},[]),fe=(0,B.useCallback)(e=>{"Enter"===e.key?ge(e):"Escape"===e.key&&(e.preventDefault(),he(e))},[ge,he]);return k?(0,W.jsxs)("div",{children:[(0,W.jsxs)("h2",{className:"page-content-container__content-box__heading mt-3 mb-3 d-flex justify-content-between align-items-center gap-xsm",children:[(0,W.jsx)(Uc,{children:"..."}),(0,W.jsx)(li,{project:o,showFilters:P,onToggleFilters:()=>F(e=>!e)})]}),(0,W.jsx)("div",{className:"custom-dashboard-view d-flex justify-content-center align-items-center","data-testid":"dashboard-loading",style:{height:innerHeight-203},children:(0,W.jsx)(w.y,{addVerticalPadding:!1})})]}):z?(0,W.jsxs)(Rc.Provider,{value:m,children:[(0,W.jsx)(pr.B,{project:o,noteText:z.name}),(0,W.jsxs)("div",{children:[(0,W.jsxs)("h2",{className:"page-content-container__content-box__heading mt-3 mb-3 d-flex justify-content-between align-items-center gap-xsm",children:[J?(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)("div",{role:"textbox",ref:e=>{if(e&&J&&z){Z.current=e,e.textContent=z.name,e.focus();const t=document.createRange(),r=window.getSelection();t.selectNodeContents(e),null==r||r.removeAllRanges(),null==r||r.addRange(t)}
1},contentEditable:!0,suppressContentEditableWarning:!0,onClick:e=>{e.preventDefault()},onKeyDown:fe,style:{minWidth:300,padding:"0px 4px",borderRadius:2,fontSize:20},tabIndex:1,"data-testid":"dashboard-name"}),b?(0,W.jsx)(kt.v,{size:14,className:"ml-2"}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(ur.K,{className:"ml-2 opacity-0.5 hover:opacity-1",icon:"save",size:14,onClick:ge}),(0,W.jsx)(ur.K,{className:"ml-2 opacity-0.5 hover:opacity-1",icon:"cancel",onClick:he})]})]}):(0,W.jsxs)(Uc,{children:[z.name,h?(0,W.jsx)(mr._,{size:14,style:{stroke:"var(--green1)"},className:"ml-2"}):l?(0,W.jsx)(ur.K,{className:"ml-2 opacity-0.5 hover:opacity-1 d-print-none",icon:"edit",onClick:pe,"data-testid":"edit-dashboard-name-button"}):null]}),l&&(0,W.jsxs)("div",{className:"dashboard-actions flex-grow-1 justify-content-end d-flex align-items-center",children:[(0,W.jsx)(dr.$,{theme:"subtle",onClick:null!=X?X:void 0,disabled:!X,"data-testid":"dashboard-undo-button",size:"s",title:"Undo",style:{cursor:X?"pointer":"not-allowed",opacity:X?1:.25},children:(0,W.jsx)(Pc.e,{size:16})}),(0,W.jsx)(dr.$,{theme:"subtle",onClick:null!=K?K:void 0,disabled:!K,"data-testid":"dashboard-redo-button",title:"Redo",style:{cursor:K?"pointer":"not-allowed",opacity:K?1:.25},size:"s",children:(0,W.jsx)(Fc.U,{size:16})})]}),(0,W.jsx)(li,{project:o,showFilters:P,onToggleFilters:()=>F(e=>!e)})]}),P&&(0,W.jsx)(j.U5,{className:"mb-3",children:(0,W.jsx)(Ho,{project:o,globalFilters:null==R?void 0:R.globalFilters,onSaveFilters:ue})}),(0,W.jsxs)("div",{className:"custom-dashboard-view","data-testid":"custom-dashboard-view",children:[s&&(0,W.jsx)("div",{className:"mb-3",children:(0,W.jsx)(gr.r,{annotations:m.filter(e=>!e.pageFilter),projectId:t,pageId:null,pageUrl:null,onChange:te})}),(0,W.jsxs)("div",{className:"dashboard-content",children:[(0,W.jsx)(gs,{config:R,interval:i,onItemMove:re,onItemResize:ne,onResizeEnd:ie,onMoveEnd:oe,onRemoveItem:ae,onDuplicateItem:de,onEditItemClick:le,canEdit:l,"data-testid":"dashboard-grid"}),0===R.items.length&&(l?(0,W.jsx)(dr.$,{className:"justify-content-center py-5 w-100",theme:"subtle",onClick:me,children:"No items in this dashboard yet. click to add an item."}):(0,W.jsx)("div",{className:"text-center text-muted py-5",children:"This dashboard has no items yet."}))]}),ee&&(0,W.jsx)(Ac,{isOpen:I,onClose:()=>{document.querySelector(".react-select__control--menu-is-open")||(T(!1),L(null))},onSave:se,item:ee,interval:i,defaultProjectId:t})]})]}),l&&(0,W.jsx)("div",{className:"d-flex mt-3",children:(0,W.jsxs)(dr.$,{className:"dashboard-add-item-button",onClick:me,type:"button",theme:"custom",style:{width:240,minHeight:"auto",height:80,margin:"auto"},"data-testid":"add-dashboard-item-button",children:[(0,W.jsx)(y.c,{size:24}),(0,W.jsx)("span",{children:"Add Item"})]})})]}):(0,W.jsx)(j.U5,{title:"Dashboard Not Found",boxHeading:!0,children:(0,W.jsxs)("div",{className:"custom-dashboards-error",children:[(0,W.jsx)("p",{children:"The requested dashboard could not be found."}),(0,W.jsx)("button",{onClick:()=>{r(A.DS.projectUrl(t,"dashboards"))},className:"btn btn-primary",children:"Back to Dashboards"})]})})};var $c=r(56141),Vc=r(81153);function Hc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Wc(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Wc(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Wc(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Gc=e=>{const t=e.projectId,r=e.project,n=e.navigate,i=(0,Zr.F)({type:"customDashboardIndexByProjectId",id:t}),o=(0,B.useMemo)(()=>Object.values(null!=i?i:{}),[i]),a=Hc((0,B.useState)([]),2),l=a[0],s=a[1],c=Hc((0,B.useState)(!1),2),d=c[0],m=c[1],p=Hc((0,B.useState)(null),2),g=p[0],f=p[1],v=Hc((0,B.useState)(!0),2),b=v[0],x=v[1];(0,B.useEffect)(()=>{u.FH.customDashboards.getDashboards(t).finally(()=>x(!1))},[t]),(0,B.useEffect)(()=>{let e=!1;return u.FH.customDashboards.getOtherDashboardsWithProjectData(t).then(t=>{e||s(t)}),()=>{e=!0}},[t]);const y=async()=>{m(!0);try{const e={name:"New Dashboard",projectId:t,config:{gridColumns:12,gridRowHeight:100,items:[]}},r=await Ln(e);n(`/project/${t}
1/dashboards/${r.id}?newItem=true`)}finally{m(!1)}},k=Hc((0,B.useState)("createdAt"),2),C=k[0],I=k[1],T={name:{heading:{title:"Dashboard Name"},render:e=>{var n,i;const o=null!==(n=null===(i=e.config)||void 0===i?void 0:i.globalFilters)&&void 0!==n?n:{},a=o.rum,l=o.lab,s={};a&&Object.entries(a).forEach(e=>{let t=Hc(e,2),r=t[0],n=t[1];return s[`${Wn}${r}`]=n}),l&&Object.entries(l).forEach(e=>{let t=Hc(e,2),r=t[0],n=t[1];return s[`${Gn}${r}`]=n});const c=A.DS.customDashboard({projectId:t,dashboardId:e.id}),d=Object.keys(s).length>0?(0,_.Ao)(c,s):c,u=g===e.id;return(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)($.N_,{className:"d-block nowrap-ellipsis",style:{minWidth:0},to:d,children:e.name}),r.canEdit&&(0,W.jsx)(S.m,{overlay:"Duplicate dashboard",children:(0,W.jsx)("button",{type:"button",className:(u?"":"result-table__show-on-row-hover")+" btn btn-link scale-small-1 color-coldGrey1 p-0 ml-2 flex-no-shrink",style:{lineHeight:1},"aria-label":"Duplicate dashboard",disabled:u,onClick:r=>{r.preventDefault(),r.stopPropagation(),(async e=>{f(e.id);try{await Ln({name:`${e.name} (copy)`,projectId:t,config:e.config})}finally{f(null)}})(e)},children:u?(0,W.jsx)(kt.v,{size:14}):(0,W.jsx)(Vc.j,{style:{display:"block"}})})})]})},getSortByValue:e=>e.name},createdAt:{heading:{title:"Created",style:{width:150},alignRight:!0},render:e=>(0,W.jsx)("span",{children:(0,N.Yq)(e.createdAt,!0)}),getSortByValue:e=>new Date(e.createdAt).getTime()},createdBy:{heading:{title:"Created By",style:{width:175},alignRight:!0},render:e=>{const t=e.author,r=t?[t.name,t.lastName].filter(Boolean).join(" ")||t.email:"Unknown";return(0,W.jsx)("span",{children:r})},getSortByValue:e=>{const t=e.author;return t?[t.name,t.lastName].filter(Boolean).join(" ")||t.email:"Unknown"}},...r.canEdit?{actions:{heading:{title:"",alignRight:!0,style:{width:80}},render:e=>(0,W.jsx)(ur.K,{icon:"cancel",onClick:t=>{t.stopPropagation(),(async e=>{await(0,Yo.Z)("Are you sure you want to delete this dashboard?",{confirmLabel:"Delete"})&&await async function(e){await u.FH.customDashboards.deleteDashboard(e)}(e)})(e.id)},title:"Delete dashboard",className:"opacity-0.5 hover:opacity-1"})}}:{}};return b?(0,W.jsx)(w.y,{}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(j.U5,{title:"Dashboards",boxHeading:!0,padded:!1,moreInfoContent:"Create custom dashboards to combine lab test and real user monitoring data into a single view.",moreInfoHref:"/docs/dashboards",children:[(0,W.jsx)("div",{className:"custom-dashboards",children:(0,W.jsx)(h.mY,{items:o,columns:T,getItemKey:e=>e.id,sortByColumn:C,onSortByChange:I,borderBottomForLastRow:!0,noMatchingItemsMessage:"No dashboards yet. Create your first custom dashboard!",getRowProps:e=>({"data-testid":`dashboard-link-${e.id}`})})}),(0,W.jsx)("div",{className:"p-3 d-flex gap-xsm",children:(()=>{const e=(0,W.jsx)(dr.$,{size:"s",icon:"add",loading:d,disabled:!r.canEdit||d,onClick:r.canEdit&&!d?()=>{y()}:void 0,className:"btn btn-primary","data-testid":"create-dashboard-button",children:"Add Dashboard"});return r.canEdit?e:(0,W.jsx)(S.m,{overlay:"You don't have edit rights for this project.",children:(0,W.jsx)("span",{children:e})})})()})]}),l.length>0&&(0,W.jsx)(j.U5,{title:"Other Dashboards With Data From This Project",boxHeading:!0,padded:!1,className:"mt-3",children:(0,W.jsx)(h.mY,{items:l,columns:{name:{heading:{title:"Dashboard Name"},render:e=>(0,W.jsx)($.N_,{className:"d-block w-100 h-100",to:A.DS.customDashboard({projectId:e.projectId,dashboardId:e.id}),children:e.name})},project:{heading:{title:"Project",alignRight:!0},render:e=>(0,W.jsx)("span",{children:e.projectName})}},getItemKey:e=>e.id,borderBottomForLastRow:!0})}),0===o.length&&(0,W.jsx)(zc,{onCreateDashboard:y})]})};function zc(e){let t=e.onCreateDashboard;return(0,W.jsx)(j.U5,{padded:!1,className:"mt-3",children:(0,W.jsx)($c.RO,{badge:"Custom Dashboards",title:"Build Custom Performance Dashboards",description:"Combine metrics from lab tests and real user monitoring into a single view. Track the data that matters most to your team.",features:["Combine data from multiple pages and projects","Choose from timeseries charts, bar charts, and tables","Mark website updates with chart annotations"],image:"https://www.debugbear.com/dimg/50f6e1db53a78769ea849102007bf51b.png",Actions:()=>(0,W.jsx)($c.F0,{onClick:t,disabled:!1,children:"Create Your First Dashboard"})})})}var qc=r(47310);function Xc(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Kc(e){let t=e.name,r=e.onSubmit,n=e.metricIds,i=e.perfSummaries;const o=(s=B.useState(!1),c=2,function(e){if(Array.isArray(e))return e}(s)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(s,c)||function(e,t){if(e){if("string"==typeof e)return Xc(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Xc(e,t):void 0}}(s,c)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=o[0],l=o[1];var s,c;return(0,W.jsx)(U.l1,{initialValues:{name:t,metricIds:n},onSubmit:async e=>{l(!0),await r(e),l(!1)},children:e=>{let t=e.values,r=e.handleSubmit,n=e.setFieldValue;return(0,W.jsxs)("form",{onSubmit:r,className:"wide-form",children:[(0,W.jsx)(yt.u,{value:t.name,label:"Name",name:"name",validate:(0,xt.hF)("Name")}),(0,W.jsxs)("div",{children:[(0,W.jsx)("label",{children:"Metrics"}),(0,W.jsx)(qc.H,{perfSummaries:i,onChange:e=>{n("metricIds",e)},value:t.metricIds})]}),(0,W.jsx)(v.J,{isSubmitting:a,title:"Update Metric Group"})]})}})}function Yc(e){var t;let r=e.projectId,n=e.metricGroupId,i=e.onSubmit;const o=(0,vt.By)(r,["pageLoads","metricGroups","rumSnippet"]),a=(0,Zr.F)({type:"latestPerfSummariesForProject",id:r});if(!o)return(0,W.jsx)(w.y,{});const l=(null!==(t=o.metricGroups)&&void 0!==t?t:[]).find(e=>e.id==n);if(!l)return(0,W.jsx)(j.U5,{children:(0,W.jsx)("p",{className:"mb-0",children:"Couldn't find metric group."})});const s=Object.values(null!=a?a:{}).filter(e=>e);return(0,W.jsx)(j.U5,{title:"Edit Metric Group",boxHeading:!0,children:(0,W.jsx)(Kc,{name:l.name,metricIds:l.metricIds,perfSummaries:s,onSubmit:e=>i({...l,...e})})})}var Jc=r(9467),Qc=r(67303),Zc=r(14710);function ed(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const td=h.mY;function rd(e){let t=e.projectId,r=e.metricGroups,n=e.onDelete,i=e.userCanEditProject;const o=(c=B.useState(null),d=2,function(e){if(Array.isArray(e))return e}(c)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(c,d)||function(e,t){if(e){if("string"==typeof e)return ed(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ed(e,t):void 0}}(c,d)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=o[0],l=o[1],s=r.map(e=>({id:e.id,name:e.name,metrics:e.metricIds.map(e=>(0,k.Hh)(e)).filter(e=>!!e).map(e=>e.title).join(", ")}));var c,d;return(0,W.jsx)("div",{children:(0,W.jsx)(td,{items:s,borderBottomForLastRow:!0,columns:{name:{heading:{title:"Group Name"},render:e=>(0,W.jsx)("span",{children:e.name})},metrics:{heading:{title:"Metrics"},render:e=>(0,W.jsx)("span",{className:"scale-small-1 color-grey3",children:e.metrics})},actions:{heading:{title:"",style:{width:50}},render:e=>i?(0,W.jsxs)("div",{className:"d-flex justify-content-end",children:[(0,W.jsx)(Zc.y,{className:"mr-3 opacity-0.5 hover:opacity-1",to:A.DS.editMetricGroupUrl(t,e.id)}),(0,W.jsx)(ur.K,{icon:"cancel",className:"opacity-0.5 hover:opacity-1",disabled:a===e.id,onClick:()=>{return t=e.name,r=e.id,l(r),void(window.confirm(`Are you sure you want to delete '${t}'?`)&&n(r));var t,r}})]}):null}}})})}var nd=r(90317),id=r(11850);function od(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ad(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ad(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ad(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ld(e){var t,r;let n=e.projectId,i=e.onDelete,o=e.userCanEditProject;const a=(0,vt.By)(n,["pageLoads","metricGroups","rumSnippet"]),l=(0,$.Zp)(),s=od(B.useState(!1),2),c=s[0],d=s[1];return a?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(j.U5,{title:"Edit Metric Groups",moreInfoContent:"Metric Groups allow you to customize your dashboard to see the metrics you care about most.",moreInfoHref:"/docs/metric-groups",boxHeading:!0,padded:!1,children:[(0,W.jsx)(rd,{projectId:n,metricGroups:null!==(t=a.metricGroups)&&void 0!==t?t:[],onDelete:i,userCanEditProject:o}),o&&(0,W.jsx)("div",{className:"p-3",children:(0,W.jsx)(dr.$,{size:"s",icon:"add",className:"btn btn-primary",disabled:c,onClick:async()=>{d(!0);try{var e;const t=await u.FH.metricGroup.create(n,{name:"New Metric Group",metricIds:[]});(0,fo.co)(n,{metricGroups:[...null!==(e=a.metricGroups)&&void 0!==e?e:[],t]}),l(A.DS.editMetricGroupUrl(n,t.id))}finally{d(!1)}},children:"Create Metric Group"})})]}),(0,W.jsx)(j.U5,{title:"Default Metric Group",moreInfoContent:"Setting a default page group will use this metric group by default in the Lab Tests dashboard.",boxHeading:!0,padded:!1,children:(0,W.jsx)("div",{className:"p-3",children:(0,W.jsx)(sd,{projectId:n,project:a,metricGroups:null!==(r=a.metricGroups)&&void 0!==r?r:[]})})})]}):(0,W.jsx)(w.y,{})}function sd(e){var t;let r=e.projectId,n=e.project,i=e.metricGroups;const o=od(B.useState(null!==(t=n.defaultMetricGroup)&&void 0!==t?t:null),2),a=o[0],s=o[1],c=(0,l.O)().patchProjectState,d=od(B.useState(!1),2),m=d[0],p=d[1],g=[{label:"Web Vitals",value:"webVitals"},...id.f.map(e=>({value:e.value,label:e.title})),...i.map(e=>({value:e.id,label:e.name}))];return(0,W.jsx)("div",{children:(0,W.jsx)(U.l1,{initialValues:{metricGroup:g},onSubmit:()=>u.FH.metricGroup.updateDefault(r,a).then(()=>{c({id:r,defaultMetricGroup:null===a?null:String(a)}),p(!0),setTimeout(()=>{p(!1)},1500)}),children:e=>{let t=e.handleSubmit,r=e.submitForm,n=e.isSubmitting;return(0,W.jsxs)("form",{onSubmit:t,className:"d-flex align-items-center",children:[(0,W.jsx)(Dt.l,{name:"metricGroup",value:g.find(e=>e.value==a),options:g,placeholder:"Select a metric group",isClearable:!0,styles:{container:e=>({...e,width:"80%"})},onChange:e=>{(null==e||e&&String(e.value)!==String(a))&&(s(e?e.value:null),r())}}),n&&(0,W.jsx)(kt.v,{className:"ml-4"}),m&&(0,W.jsx)(nd.P,{className:"ml-4",style:{color:"green"}})]})}})})}function cd(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return dd(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?dd(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function dd(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ud(e){let t=e.projectId,r=e.userCanEditProject,n=e.onMetricGroupDelete;return(0,B.useEffect)(()=>{(0,s.iR)()},[]),(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(md,{projectId:t,userCanEditProject:r}),(0,W.jsx)(ld,{projectId:t,onDelete:n,userCanEditProject:r}),(0,W.jsx)(j.U5,{title:"Edit Pages",boxHeading:!0,children:(0,W.jsx)($.N_,{to:(0,_.O$)(A.DS.projectUrl(t,"bulkEdit"),{bulkEditMode:"basics"}),className:"btn btn-sm btn-outline-secondary",children:"Bulk Edit & Reorder Pages"})})]})}function md(e){let t=e.projectId,r=e.userCanEditProject;const n=(0,vt.By)(t,["pageLoads","metricGroups","rumSnippet"]),i=cd((0,B.useState)(!1),2),o=i[0],a=i[1],l=cd((0,B.useState)(null),2),s=l[0],c=l[1];return(0,B.useEffect)(()=>{u.FH.getBillingCustomerAnalysisQuotaAndPredictedUsage(t).then(c)},[t]),n?(0,W.jsx)(j.U5,{title:"Test Repetition",boxHeading:!0,moreInfoContent:"Reduce variability between results by running tests multiple times and selecting the median.",moreInfoHref:"/docs/project-settings#number-of-times-to-run-each-test",children:(0,W.jsx)(U.l1,{initialValues:{runTestNTimes:n.runTestNTimes},onSubmit:e=>{a(!0),u.FH.updateProject(t,e).then(()=>a(!1)).catch(()=>a(!1))},children:e=>{let t=e.values,i=e.handleSubmit;return(0,W.jsxs)("form",{onSubmit:i,children:[(0,W.jsxs)("div",{children:[(0,W.jsx)("label",{style:{marginBottom:4,marginTop:0},children:"Number of times to run each test"}),(0,W.jsx)(Jc.u,{name:"runTestNTimes",children:[1,3,5,7].map(e=>(0,W.jsx)(Jc.F,{value:e,children:e},e))})]}
1),s&&n?(0,W.jsxs)("div",{className:"monthly-usage-info",children:[(0,N.Ke)((0,Qc.FV)({project:n,predictedScheduledMonthlyAnalyses:s.predictedUsage,newOrUpdatedPageLoads:[],newRunTestNTimes:t.runTestNTimes,projectPageLoads:n.pageLoads}).project)," ","scheduled monthly tests in this project"]}):(0,W.jsx)("div",{style:{marginTop:12},children:(0,W.jsx)(kt.v,{})}),r?(0,W.jsx)(v.J,{isSubmitting:o,title:"Update"}):(0,W.jsx)("div",{className:"mt-3",children:"You have read only access to this project."})]})}})}):(0,W.jsx)(w.y,{})}var pd=r(13831),gd=r(66412),hd=r(12089),fd={};function vd(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return bd(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?bd(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bd(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}fd.styleTagTransform=ve(),fd.setAttributes=pe(),fd.insert=ue().bind(null,"head"),fd.domAPI=ce(),fd.insertStyleElement=he(),le()(hd.A,fd),hd.A&&hd.A.locals&&hd.A.locals;const xd=B.createContext({}),yd=function(e){let t=e.children;const r=vd(B.useState(20),2),n=r[0],i=r[1],o=vd(B.useState(!0),2),a=o[0],l=o[1];return(0,W.jsx)(xd.Provider,{value:{maxCount:n,setMaxCount:e=>{i(e),l(!1),setTimeout(()=>{n<300&&l(!0)},5e3)},canIncreaseMaxCount:a},children:t})};
1function jd(e){let t=e.pageLoad,r=e.perfSummary;const n=(0,Zr.F)({type:"analysis.result",id:null==r?void 0:r.analysisId}),i=n?(0,gd.XB)(n):null;return B.useEffect(()=>{i&&(window.exampleFinderResults=window.exampleFinderResults||[],window.exampleFinderResults.push(i))},[i]),n?n.resultJson?(0,W.jsx)(pd.b_,{getUrl:()=>"",pageLoadId:t.id,projectId:t.projectId,selectedResult:i,selectedPerfSummary:null!=r?r:void 0,isExampleFinder:!0}):(0,W.jsx)("div",{children:"result without resultJson"}):(0,W.jsx)("div",{style:{height:100},children:"loading result"})}function wd(e){const t=B.useContext(xd),r=t.maxCount,n=t.setMaxCount,i=t.canIncreaseMaxCount;return e.displayIndex>r?(0,W.jsxs)("div",{children:["not showing recommendations after first ",r," pages to avoid excessive backend requests (index: ",e.displayIndex,")",(0,W.jsx)("br",{}),(0,W.jsx)("button",{disabled:!i,onClick:()=>n(r+20),className:"example-finder__load-more",children:"Show more"})]}):(0,W.jsx)(jd,{...e})}var Sd=r(24007),_d=r(17239),kd=r(98032),Cd=r(74434);function Ad(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Nd(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Nd(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Nd(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Id=h.mY,Td=h.mY,Dd=h.mY,Pd=h.mY,Fd={perf:"Performance",a11y:"Accessibility",seo:"SEO",bp:"Best Practices",agentic:"Agentic Browsing"},Md={performance:"Lighthouse Performance Audits",accessibility:"Lighthouse Accessibility Audits",seo:"Lighthouse SEO Audits","best-practices":"Lighthouse Best Practices Audits","agentic-browsing":"Lighthouse Agentic Browsing Audits"},Od={performance:"https://www.debugbear.com/docs/metrics/lighthouse-performance",accessibility:"https://www.debugbear.com/blog/lighthouse-accessibility",seo:"https://www.debugbear.com/blog/lighthouse-seo-score","best-practices":"https://www.debugbear.com/blog/lighthouse-best-practices","agentic-browsing":"https://www.debugbear.com/blog/lighthouse-agentic-browsing"},Ld={performance:"Lighthouse's performance audits identify common page speed issues like render-blocking requests or inefficient image loading.",accessibility:"Lighthouse's accessibility audits check whether your page can be used with screen readers and other assistive technology.",seo:"Lighthouse's SEO audits check that search engines can crawl and understand your page.","best-practices":"Lighthouse's best practices audits flag general code quality and security issues like missing HTTPS, deprecated APIs, console errors, vulnerable libraries, and more.","agentic-browsing":"Lighthouse's agentic browsing audits check how well your site can be accessed by AI agents."};function Ed(e){let t=e.count,r=e.totalPages,n=e.testId;if(0===r)return(0,W.jsx)("span",{"data-testid":n,style:{color:"#888"},children:"N/A"});const i=Math.round((r-t)/r*100),o=i>=90?"#0c8839":i<50?"#c0392b":"#e67e22";return(0,W.jsxs)("span",{"data-testid":n,style:{color:o,fontWeight:600},children:[i,"%"]})}const Rd=[{value:"performance",title:"Performance"},{value:"accessibility",title:"Accessibility"},{value:"seo",title:"SEO"},{value:"best-practices",title:"Best Practices"},{value:"agentic-browsing",title:"Agentic Browsing"}],Ud={performance:"Performance",accessibility:"Accessibility",seo:"SEO","best-practices":"Best Practices","agentic-browsing":"Agentic Browsing"},Bd={performance:"performance",accessibility:"accessibility",seo:"seo","best-practices":"bestPractices","agentic-browsing":"agenticBrowsing"};function $d(e){let t=e.projectId,r=e.pageLoads,n=e.latestPerfSummariesByPageLoadId;const i=Ad((0,V.t)("category","performance"),2),o=i[0],a=i[1],l=Ad((0,B.useState)(null),2),s=l[0],c=l[1],d=Ad((0,B.useState)(null),2),u=d[0],m=d[1],p=(0,B.useMemo)(()=>function(e,t){const r={};for(const o of e){const e=t[o.id];if(!e)continue;const a=(0,Cd.I6)(e.audits);if(a)for(const t of Object.entries(a)){var n=Ad(t,2);const a=n[0],l=n[1],s=Fd[a]||a;for(const t of Object.entries(l)){var i=Ad(t,2);const n=i[0],a=i[1];r[n]||(r[n]={title:Cd.xx[n]||n,category:s,pages:[],failingCount:0,applicableCount:0,naCount:0}),r[n].pages.push({pageLoad:o,perfSummary:e,score:a}),a<0?r[n].naCount++:(r[n].applicableCount++,a<.9&&r[n].failingCount++)}}}const o=Object.entries(r).map(e=>{let t=Ad(e,2),r=t[0],n=t[1],i=n.title,o=n.category;return{id:r,title:i,pages:n.pages,count:n.failingCount,totalPagesWithAudit:n.applicableCount,naCount:n.naCount,category:o}});return(0,T.sortBy)(o,e=>e.totalPagesWithAudit>0?(e.totalPagesWithAudit-e.count)/e.totalPagesWithAudit:1)}(r,n),[r,n]),g=(0,B.useMemo)(()=>function(e,t){const r={};for(const a of e){var n;const e=t[a.id];if(null==e||null===(n=e.audits)||void 0===n||!n.rec)continue;const l=(0,Cd.OO)(e.audits.rec);if(l)for(const t of Object.entries(l)){var i=Ad(t,2);const n=i[0];var o=i[1];const l=o.title,s=o.status;r[n]||(r[n]={title:l,pages:[],failingCount:0}),r[n].pages.push({pageLoad:a,perfSummary:e,status:s}),"ok"!==s&&r[n].failingCount++}}const a=Object.entries(r).map(e=>{let t=Ad(e,2),r=t[0],n=t[1],i=n.title,o=n.pages;return{id:r,title:i,pages:o,count:n.failingCount,totalPagesWithAudit:o.length}});return(0,T.sortBy)(a,e=>e.totalPagesWithAudit>0?(e.totalPagesWithAudit-e.count)/e.totalPagesWithAudit:1)}(r,n),[r,n]),h=(0,B.useMemo)(()=>{const e=Ud[o]||o;return p.filter(t=>t.category===e)},[p,o]),f="performance"===o;return(0,W.jsxs)("div",{children:[(0,W.jsx)(Sd.E,{options:Rd.map(e=>({title:e.title,href:`?category=${encodeURIComponent(e.value)}`,selected:o===e.value,onClick:t=>{t.preventDefault(),a(e.value)}})),rightContent:(0,W.jsx)(x.c,{content:"View aggregated Lighthouse audit and recommendation results across all monitored pages.",href:"https://www.debugbear.com/docs/aggregate-audits-report"})}),f&&(0,W.jsx)(j.U5,{title:"DebugBear Recommendations",boxHeading:!0,padded:!1,children:0===g.length?(0,W.jsx)("div",{className:"p-3 text-muted",children:"No recommendations data found across pages."}):(0,W.jsx)(Dd,{testName:"rec-table",items:g,hideTableHeader:!1,getItemKey:e=>e.id,showRightArrowForDetailsExpansion:!0,sortByColumn:u,onSortByChange:m,columns:{recommendation:{heading:{title:"Recommendation"},render:e=>(0,W.jsx)("span",{"data-testid":`rec-${e.id}`,style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.title,children:e.title})},count:{heading:{title:"Pages Impacted",style:{width:140},alignRight:!0},render:e=>(0,W.jsx)("span",{"data-testid":`rec-count-${e.id}`,children:e.count}),getSortByValue:e=>e.count},passing:{heading:{title:"% Passing",style:{width:100},alignRight:!0},render:e=>(0,W.jsx)(Ed,{testId:`rec-passing-${e.id}`,count:e.count,totalPages:e.totalPagesWithAudit}),getSortByValue:e=>e.totalPagesWithAudit>0?(e.totalPagesWithAudit-e.count)/e.totalPagesWithAudit:0}},ItemDetailsRenderer:e=>{let r=e.item;return(0,W.jsx)(Wd,{pages:r.pages,projectId:t,recId:r.id,recTitle:r.title})}})}),(0,W.jsx)("div",{className:f?"mt-3":"",children:(0,W.jsx)(j.U5,{title:Md[o]||"Lighthouse Audits",moreInfoHref:Od[o],moreInfoContent:Ld[o]||`Learn more about Lighthouse ${Ud[o]||""} audits and how to improve your scores.`,boxHeading:!0,padded:!1,children:0===h.length?(0,W.jsx)("div",{className:"p-3 text-muted",children:"No audit data found across pages."}):(0,W.jsx)(Id,{testName:"lh-audits-table",items:h,hideTableHeader:!1,getItemKey:e=>e.id,showRightArrowForDetailsExpansion:!0,sortByColumn:s,onSortByChange:c,columns:{audit:{heading:{title:"Audit"},render:e=>(0,W.jsx)("span",{"data-testid":`lh-audit-${e.id}`,style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.title,children:e.title})},count:{heading:{title:"Pages Impacted",style:{width:140},alignRight:!0},render:e=>(0,W.jsx)("span",{"data-testid":`lh-audit-count-${e.id}`,children:e.count}),getSortByValue:e=>e.count},passing:{heading:{title:"% Passing",style:{width:100},alignRight:!0},render:e=>(0,W.jsx)(Ed,{testId:`lh-audit-passing-${e.id}`,count:e.count,totalPages:e.totalPagesWithAudit}),getSortByValue:e=>e.totalPagesWithAudit>0?(e.totalPagesWithAudit-e.count)/e.totalPagesWithAudit:0}},ItemDetailsRenderer:e=>{let r=e.item;return(0,W.jsx)(Vd,{pages:r.pages,projectId:t,auditId:r.id,lighthouseCategory:Bd[o]||o})}})})})]})}function Vd(e){let t=e.pages,r=e.projectId,n=e.auditId,i=e.lighthouseCategory;const o=Ad((0,B.useState)("failing"),2),a=o[0],l=o[1],s=t.filter(e=>e.score>=0&&e.score<.9),c=t.filter(e=>e.score>=.9),d=t.filter(e=>e.score<0),u="passing"===a?c:"na"===a?d:s;return(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"mb-2",children:(0,W.jsx)(H.L,{options:[{value:"failing",title:`Failing (${s.length})`},{value:"passing",title:`Passing (${c.length})`}
1,{value:"na",title:`N/A (${d.length})`}],optionValue:a,onSelectOption:l})}),(0,W.jsx)("div",{className:"grey-box-border",children:(0,W.jsx)(Td,{items:u,hideTableHeader:!1,noDetailsPadding:!0,getItemKey:e=>e.pageLoad.id.toString(),showRightArrowForDetailsExpansion:!0,columns:{pageTitle:{heading:{title:"Page"},render:e=>{var t;return(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)("div",{className:"d-flex align-items-center justify-content-center mr-3",style:{width:50,height:28,flexShrink:0},children:(null===(t=e.perfSummary)||void 0===t?void 0:t.thumbnail)&&(0,W.jsx)("img",{src:e.perfSummary.thumbnail,alt:"",className:"screenshot-style",style:{height:28,width:"auto",maxWidth:50}})}),(0,W.jsx)("span",{children:e.pageLoad.name})]})}},score:{heading:{title:"Score",style:{width:80},alignCenter:!0},render:e=>{if(e.score<0)return(0,W.jsx)("span",{style:{color:"#888"},children:"n/a"});const t=Math.round(100*e.score),r=t>=90?"#0c8839":t>=50?"#e67e22":"#c0392b";return(0,W.jsx)("span",{style:{fontWeight:600,color:r},children:t})}},viewMore:{heading:{title:"",style:{width:100}},render:e=>(0,W.jsx)("div",{className:"text-right",children:(0,W.jsx)($.N_,{to:`/project/${r}/pageLoad/${e.pageLoad.id}/lighthouse?metric=${i}`,onClick:e=>e.stopPropagation(),children:"View page"})})}},ItemDetailsRenderer:e=>{let t=e.item;return(0,W.jsx)(Hd,{auditId:n,perfSummary:t.perfSummary})}})})]})}function Hd(e){let t=e.auditId,r=e.perfSummary;const n=Ad((0,B.useState)(null),2),i=n[0],o=n[1],a=Ad((0,B.useState)(!0),2),l=a[0],s=a[1],c=Ad((0,B.useState)(()=>Date.now()),1)[0];if((0,B.useEffect)(()=>{u.FH.getLhr(r.analysisId).then(e=>{o(null==e?void 0:e.lhr),s(!1)})},[r.analysisId]),l)return(0,W.jsx)("div",{className:"p-3 d-flex justify-content-center",children:(0,W.jsx)(w.y,{})});if(!i)return(0,W.jsx)("div",{className:"p-3",children:(0,W.jsx)("strong",{children:Cd.xx[t]||t})});let d="performance";for(const e of Object.entries(i.categories||{})){var m,p=Ad(e,2);const r=p[0];if(null!==(m=p[1].auditRefs)&&void 0!==m&&m.some(e=>e.id===t)){d=r;break}}return(0,W.jsx)("div",{className:"p-3","data-testid":`lh-audit-detail-${t}`,children:(0,W.jsx)(_d.g,{lhr:i,category:d,auditOnly:t,resultId:r.analysisId,hideNonCategoryInfo:!0},`${r.analysisId}-${t}-${c}`)})}function Wd(e){let t=e.pages,r=e.projectId,n=e.recId,i=e.recTitle;const o=Ad((0,B.useState)("failing"),2),a=o[0],l=o[1],s=t.filter(e=>"ok"!==e.status),c="all"===a?t:s;return(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"mb-2",children:(0,W.jsx)(H.L,{options:[{value:"failing",title:`Failing (${s.length})`},{value:"all",title:`All (${t.length})`}],optionValue:a,onSelectOption:l})}),(0,W.jsx)("div",{className:"grey-box-border",children:(0,W.jsx)(Pd,{items:c,hideTableHeader:!1,noDetailsPadding:!0,getItemKey:e=>e.pageLoad.id.toString(),showRightArrowForDetailsExpansion:!0,columns:{pageTitle:{heading:{title:"Page"},render:e=>{var t;return(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)("div",{className:"d-flex align-items-center justify-content-center mr-3",style:{width:50,height:28,flexShrink:0},children:(null===(t=e.perfSummary)||void 0===t?void 0:t.thumbnail)&&(0,W.jsx)("img",{src:e.perfSummary.thumbnail,alt:"",className:"screenshot-style",style:{height:28,width:"auto",maxWidth:50}})}),(0,W.jsx)("span",{children:e.pageLoad.name})]})}},score:{heading:{title:"Status",style:{width:80},alignCenter:!0},render:e=>(0,W.jsx)("span",{className:"d-flex align-items-center justify-content-center",children:(0,W.jsx)(pd.kW,{status:e.status})})},viewMore:{heading:{title:"",style:{width:100}},render:e=>(0,W.jsx)("div",{className:"text-right",children:(0,W.jsx)($.N_,{to:A.DS.pageLoadUrl(r,e.pageLoad.id,"overview")+"#recommendations",onClick:e=>e.stopPropagation(),children:"View page"})})}},ItemDetailsRenderer:e=>{let t=e.item;return(0,W.jsx)(Gd,{perfSummary:t.perfSummary,pageLoadId:t.pageLoad.id,projectId:r,recId:n,recTitle:i})}})})]})}function Gd(e){var t,r;let n=e.perfSummary,i=e.pageLoadId,o=e.projectId,a=e.recId,l=e.recTitle;const s=Ad((0,B.useState)({rec:null,loading:!0}),2),c=s[0],d=s[1];return(0,B.useEffect)(()=>{!async function(){try{const e=Ad(await Promise.all([u.FH.getLhr(n.analysisId),u.FH.getPageLoadAnalysisResultFromAnalysisId(n.analysisId)]),2),t=e[0],r=e[1],a=null==t?void 0:t.lhr;if(!a||!r)return void d({rec:null,loading:!1});const s=(0,gd.XB)(r),c=(0,kd.Dz)({result:s,projectId:o,pageLoadId:i,selectedPerfSummary:n,lhr:a,html:null}).find(e=>e.title===l)||null;d({rec:c,loading:!1})}catch(e){console.error("Error loading recommendation detail",e),d({rec:null,loading:!1})}}()},[n,i,o,l]),c.loading?(0,W.jsx)("div",{className:"p-3 d-flex justify-content-center",children:(0,W.jsx)(w.y,{})}):c.rec?(0,W.jsxs)("div",{"data-testid":`rec-detail-${a}`,children:[(0,W.jsx)(pd.pT,{assessment:c.rec.assessment,descriptionMarkdown:c.rec.description,advice:c.rec.advice,href:c.rec.href}),(null===(t=(r=c.rec).renderDetail)||void 0===t?void 0:t.call(r))&&(0,W.jsx)("div",{children:c.rec.renderDetail()})]}):(0,W.jsx)("div",{className:"p-3 text-muted",children:"This recommendation does not apply to this page."})}function zd(e){let t=e.project;const r=t.id,n=t.pageLoads||[];(0,B.useEffect)(()=>{u.FH.getLatestPerfSummariesForProject(r)},[r]);const i=(0,a.A)(e=>{var t;return null===(t=e.models.latestPerfSummariesForProject)||void 0===t?void 0:t[r.toString()]});return 0===n.length?(0,W.jsx)(qd,{}):i?(0,W.jsx)($d,{projectId:r,pageLoads:n,latestPerfSummariesByPageLoadId:i}):(0,W.jsx)(w.y,{})}function qd(){return(0,W.jsx)(j.U5,{children:(0,W.jsx)("div",{className:"p-5",children:(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-lg-6 d-flex align-items-center",children:(0,W.jsx)("div",{className:"row",children:(0,W.jsxs)("div",{className:"col-12",children:[(0,W.jsx)("h2",{className:"scale-2",children:"Audit Dashboard"}),(0,W.jsx)("p",{className:"color-coldGrey1 mt-3",children:"View the most common recommendations for performance, SEO, and accessibility across your project."}),(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{className:"d-flex align-items-center mb-2",children:[(0,W.jsx)(nd.P,{fill:"#34AA2C"}),(0,W.jsx)("div",{className:"ml-2",children:"View audit pass rates"})]}),(0,W.jsxs)("div",{className:"d-flex align-items-center mb-2",children:[(0,W.jsx)(nd.P,{fill:"#34AA2C"}),(0,W.jsx)("div",{className:"ml-2",children:"Identify impacted pages"})]})]}),(0,W.jsx)("p",{className:"color-coldGrey1 mt-3",children:"Add pages to your project to see audit results here."})]})})}),(0,W.jsx)("div",{className:"col-lg-6 d-flex justify-content-center",children:(0,W.jsx)("div",{children:(0,W.jsx)("img",{src:"https://www.debugbear.com/dimg/fc5c8dbb7ff4c0f4f2256b2bf486cd39.png",className:"mt-4",style:{width:470,maxWidth:"100%",boxShadow:"0px 0px 15px #ddd",borderRadius:10}})})})]})})})}var Xd=r(70752),Kd=r(13017),Yd={};function Jd(e){let t=e.tag,r=e.isRemoved,n=void 0!==r&&r,i=e.isAdded,o="page-tag";return n?o+=" page-tag--is-removed":void 0!==i&&i&&(o+=" page-tag--is-added"),(0,W.jsx)("div",{className:o,"data-test-tag":t,children:t},t)}Yd.styleTagTransform=ve(),Yd.setAttributes=pe(),Yd.insert=ue().bind(null,"head"),Yd.domAPI=ce(),Yd.insertStyleElement=he(),le()(Kd.A,Yd),Kd.A&&Kd.A.locals&&Kd.A.locals;var Qd=r(75092),Zd=r(15817),eu={};function tu(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ru(e){let t=e.hideAddAllButton,r=e.onSelectPages,n=e.onDeselectPages,i=e.selectedPageIds,o=e.projectId,a=e.style,l=e.pageListStyle;const s=(0,B.useRef)(null),c=(0,vt.By)(o,["pageLoads","metricGroups","rumSnippet"]),d=(p=(0,B.useState)(""),g=2,function(e){if(Array.isArray(e))return e}(p)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(p,g)||function(e,t){if(e){if("string"==typeof e)return tu(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?tu(e,t):void 0}}(p,g)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=d[0],m=d[1];var p,g;let h=[];var f;return c&&(h=(0,C.nF)(null!==(f=c.pageLoads)&&void 0!==f?f:[],{formFactor:"all",search:[u]})),(0,B.useEffect)(()=>{var e;null===(e=s.current)||void 0===e||e.focus()},[]),(0,W.jsxs)("div",{style:a,children:[(0,W.jsx)("input",{type:"text",placeholder:"Search",value:u,onChange:e=>m(e.target.value),style:{marginTop:10,marginBottom:10,width:"100%",flexShrink:0},ref:s}),(0,W.jsxs)("div",{style:l,children:[!c&&(0,W.jsx)(w.y,{}),c&&h.map(e=>(0,W.jsx)("div",{"data-testid":`small-project-page-${e.id}`,className:"small-project-pages__page"+(null!=i&&i.has(e.id)?" small-project-pages__page--selected":""),children:(0,W.jsx)(nu,{page:e,selectable:!!i,onClick:()=>{if(null!=i&&i.has(e.id))return null==n?void 0:n([e]);r([e])},showTags:!0,selected:null==i?void 0:i.has(e.id)})},e.id)),h.length<=15&&h.length>1&&!t&&(0,W.jsx)("button",{onClick:()=>{r(h)},className:"btn btn-primary",children:"Add all"})]})]})}function nu(e){let t,r=e.page,n=e.onRemove,i=e.onClick,o=e.selectable,l=e.selected,s=e.shouldLinkToPage,c=e.showTags,d=e.showProjectName;if(r){let e=(0,Qd.x)(r.name,70);d&&(e+=" / "+function(e){var t;if(!e&&!a.A.getState().userProjects)return"";const r=a.A.getState().userProjects.find(t=>t.id===e.projectId);return null!==(t=null==r?void 0:r.name)&&void 0!==t?t:""}(r)),t=(0,W.jsxs)(W.Fragment,{children:[" ",s?(0,W.jsx)($.N_,{to:A.DS.pageLoadUrl(r.projectId,r.id),children:e}):e,(0,W.jsx)("br",{}),(0,W.jsxs)("span",{className:"small-page-list-item__details",children:[r.device.name,", ",(0,Bt.fZ)(r.region)]}),c&&(0,W.jsx)("div",{children:r.tags.map(e=>(0,W.jsx)(Jd,{tag:e},e))})]})}else t=null===r?(0,W.jsx)("div",{"data-test-page-data-spinner":!0,children:"Not found."}):(0,W.jsx)("div",{"data-test-page-data-spinner":!0,children:(0,W.jsx)(kt.v,{})});return(0,W.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>null==i?void 0:i(r),onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),null==i||i(r))},className:"small-page-list-item",style:{cursor:"pointer"},"aria-pressed":l,children:[(0,W.jsx)("div",{style:{flexGrow:1},children:t}),(0,W.jsx)("div",{children:n&&(0,W.jsx)(ur.K,{hoverColor:"white1",className:"small-page-list-item__delete d-flex align-items-center justify-content-center",size:8,onClick:e=>{e.stopPropagation(),n()},iconProps:{strokeWidth:2},icon:"cancel"})}),o?(0,W.jsx)("div",{className:"d-flex align-items-center pr-2",children:(0,W.jsx)("input",{type:"checkbox",className:"checkbox",checked:l,readOnly:!0,style:{marginLeft:8}})}):null]})}eu.styleTagTransform=ve(),eu.setAttributes=pe(),eu.insert=ue().bind(null,"head"),eu.domAPI=ce(),eu.insertStyleElement=he(),le()(Zd.A,eu),Zd.A&&Zd.A.locals&&Zd.A.locals;var iu=r(89498),ou=r(31500),au=r(98379),lu=r(94050),su=r(27869),cu=r(81936);function du(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return uu(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?uu(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function uu(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function mu(e){let t=e.projectId,r=e.budgetId,n=e.visible,i=e.onClose;const o=(0,l.O)(),a=o.project,s=o.fetchProject,c=du((0,B.useState)(!1),2),d=c[0],m=c[1],p=du((0,B.useState)(new Set),2),g=p[0],h=p[1],f=(0,B.useCallback)(e=>{const t=new Set(g);e.forEach(e=>t.add(e.id)),h(t)},[g,h]),v=(0,B.useCallback)(e=>{const t=new Set(g);e.forEach(e=>t.delete(e.id)),h(t)},[g,h]);return(0,B.useLayoutEffect)(()=>{h(new Set(null==a?void 0:a.pageLoads.filter(e=>e.pageAdvancedSettings.some(e=>e.advancedSettingId===r)).map((0,fi.A)("id"))))},[a,r]),(0,W.jsx)(iu.V,{isOpen:n,onRequestClose:i,onClose:i,modalStyle:{display:"flex",flexDirection:"column",overflow:"hidden"},contentStyle:{display:"flex",flexDirection:"column",overflow:"hidden"},modalContentStyle:{display:"flex",flexDirection:"column",overflow:"hidden"},children:a?(0,W.jsxs)("div",{className:"d-flex flex-column gap-2",style:{overflow:"hidden"},children:[(0,W.jsx)("h3",{children:"Assign"}),(0,W.jsx)("div",{className:"d-flex flex-grow-1 flex-shrink-1",style:{overflow:"hidden",flexDirection:"column"},children:(0,W.jsx)(ru,{projectId:t,onSelectPages:f,onDeselectPages:v,selectedPageIds:g,hideAddAllButton:!0,style:{display:"flex",flexDirection:"column",overflow:"hidden"},pageListStyle:{overflow:"auto"}})}),(0,W.jsxs)("div",{className:"d-flex justify-content-between pt-3",children:[(0,W.jsxs)("button",{className:"btn btn-link","data-testid":"select-deselect-all-pages-button",onClick:()=>{g.size>=(null==a?void 0:a.pageLoads.length)?h(new Set):h(new Set(null==a?void 0:a.pageLoads.map((0,fi.A)("id"))))},children:[g.size>=(null==a?void 0:a.pageLoads.length)?"Deselect":"Select"," ","All"]}),(0,W.jsx)("button",{className:"btn btn-primary btn-sm d-flex align-items-center justify-content-center","data-testid":"apply-budgets-button",disabled:d,onClick:d?void 0:async()=>{var e,t;if(d)return;m(!0);const n=null!==(e=null==a?void 0:a.pageLoads.filter(e=>g.has(e.id)&&!e.pageAdvancedSettings.some(e=>e.advancedSettingId===r)))&&void 0!==e?e:[],o=null!==(t=null==a?void 0:a.pageLoads.filter(e=>!g.has(e.id)&&e.pageAdvancedSettings.some(e=>e.advancedSettingId===r)))&&void 0!==t?t:[];try{await u.FH.bulkUpdatePageLoads([...n.map(e=>{var t;return{id:e.id,advancedSettingIds:(0,au.A)(r,pu(null!==(t=e.pageAdvancedSettings)&&void 0!==t?t:[]))}}),...o.map(e=>({id:e.id,advancedSettingIds:gu(r,e.pageAdvancedSettings)}))]),await s(),i()}catch(e){throw(0,ou.m)("Error applying budgets"),e}finally{m(!1)}},style:{width:106},children:d?(0,W.jsx)(kt.v,{color:"currentColor"}):(0,W.jsx)("span",{children:"Apply Budgets"})})]})]}):(0,W.jsx)(kt.v,{})})}const pu=(0,lu.A)((0,fi.A)("advancedSettingId"));function gu(e,t){return(0,su.A)(pu,(0,cu.A)((0,Do.A)(e)))(t)}var hu=r(51932),fu=r(46102),vu=r(83720),bu=r(13413);function xu(e){let t=e.passingCount,r=e.failingCount;const n=(0,B.useMemo)(()=>{const e=t+r;return 0===e?[]:[{title:"Passing",percentage:t/e*100,color:(0,bu.yo)("pass"),detailText:t+" checks"},{title:"Failing",percentage:r/e*100,color:(0,bu.yo)("fail"),detailText:r+" checks"}]},[t,r]);return(0,W.jsx)(vu.rl,{forceHideText:!0,height:8,components:n,title:"Budget Checks"})}var yu=r(59433),ju=r(39625),wu=r(89616),Su=r(93538),_u={};function ku(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Cu(e,t,r,n,i){return e||(r?"mobile"===n?`/public/screenshot-placeholders/mobile-waiting${i?"-dark":""}
1.svg`:`/public/screenshot-placeholders/desktop-waiting${i?"-dark":""}.svg`:t?A.DS.screenshotUrl(t):"mobile"===n?"/public/screenshot-placeholders/mobile-error.png":"/public/screenshot-placeholders/desktop-error.png")}function Au(e){const t=B.useContext(wu.B).isDarkMode,r=e.className,n=e.formFactor,i=e.pageLoadName,o=e.screenshot,a=e.small,l=e.waiting,c=e.lazyLoading,d=e.thumbnail,u=e.screenWidth,m=e.screenHeight,p=(b=B.useState(Cu(d,null==o?void 0:o.small,l,n,t)),x=2,function(e){if(Array.isArray(e))return e}(b)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(b,x)||function(e,t){if(e){if("string"==typeof e)return ku(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ku(e,t):void 0}}(b,x)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=p[0],h=p[1],f=(0,s.no)(n,u,m).small.height,v=f/1.68;var b,x;return(0,B.useEffect)(()=>{h(Cu(d,null==o?void 0:o.small,l,n,t))},[n,t,d,null==o?void 0:o.small,l]),(0,W.jsx)("div",{className:Ti()("page-screenshot ",r,{"page-screenshot--small":a,"page-screenshot--loaded":o}),children:(0,W.jsx)("img",{src:g,alt:i+" screenshot",loading:c?"lazy":"eager",onError:()=>{h(Cu(d,void 0,!1,n,t))},style:a?{height:v,width:"auto"}:{height:f,width:"auto"}})})}function Nu(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Iu(e){let t=e.pageConditions,r=e.project,n=e.perfSummaries,i=e.noMatchingItemsMessage;const o=(0,hu.a)(),a=(c=(0,B.useState)(null),d=2,function(e){if(Array.isArray(e))return e}(c)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(c,d)||function(e,t){if(e){if("string"==typeof e)return Nu(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Nu(e,t):void 0}}(c,d)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],s=a[1];var c,d;return(0,W.jsx)(h.mY,{items:t,sortByColumn:l,onSortByChange:e=>s(e),noMatchingItemsMessage:i,columns:{page:{heading:{title:"Page"},getSortByValue:e=>e.page.name.toLowerCase(),render:e=>{var t,i,o;const a=Bt.T8.find(t=>t.value===e.page.region);return(0,W.jsx)("div",{children:(0,W.jsxs)("div",{style:{minWidth:0},className:"d-flex align-items-center",children:[(0,W.jsx)("div",{className:"mr-2 d-none d-md-flex justify-content-center ",style:{padding:4},children:(0,W.jsx)(Au,{pageLoadName:e.page.name,thumbnail:null===(t=(0,T.last)(null==n?void 0:n[e.page.id]))||void 0===t?void 0:t.thumbnail,screenWidth:null===(i=(0,T.last)(null==n?void 0:n[e.page.id]))||void 0===i?void 0:i.screenWidth,screenHeight:null===(o=(0,T.last)(null==n?void 0:n[e.page.id]))||void 0===o?void 0:o.screenHeight,small:!0,waiting:!n})}),(0,W.jsxs)("div",{style:{minWidth:0},children:[(0,W.jsx)($.N_,{to:A.DS.pageLoadUrl(r.id,e.page.id),children:(0,W.jsx)("div",{className:"flex-shrink-1 nowrap-ellipsis color-blue1",style:{fontWeight:500},children:e.page.name})}),(0,W.jsxs)("div",{className:"scale-small-1 color-coldGrey1",children:[e.page.device.name," / ",a.name]})]})]})})}},metric:{heading:{title:"Condition",style:{width:o<1e3?120:180}},getSortByValue:e=>(0,k.Hh)(e.condition.metric).title,render:e=>{const t=(0,k.Hh)(e.condition.metric);return(0,W.jsxs)("div",{children:[t.title,(0,W.jsxs)("div",{className:"scale-small-1 color-coldGrey1",children:[(0,N.sK)(yu.L[e.condition.type]).replace(" %","")," ",e.condition.type.includes("Percentage")?e.condition.threshold+"%":(0,N.Fl)(Number(e.condition.threshold),t.dataType,{convertLighthouseDecimalScoreToInteger:!0,precision:e.condition.threshold<100?2:void 0})]})]})}},value:{heading:{title:"Value",alignRight:!0,style:{width:o<1e3?60:120}},render:e=>{var t,r,n,i;const o=(0,k.Hh)(e.condition.metric),a=(0,N.Fl)(null===(t=e.info)||void 0===t?void 0:t.value,o.dataType,{convertLighthouseDecimalScoreToInteger:!0,noValueFallback:"-"}),l=(0,N.Fl)(null===(r=e.info)||void 0===r?void 0:r.previousValue,o.dataType,{convertLighthouseDecimalScoreToInteger:!0,noValueFallback:"-"}),s=null===(n=e.info)||void 0===n?void 0:n.value,c=null===(i=e.info)||void 0===i?void 0:i.previousValue,d="number"==typeof s&&"number"==typeof c?Math.round(100*(s/c-1)):null;return e.condition.type.includes("Percentage")?(0,W.jsxs)("div",{children:[null!==d?(0,W.jsxs)(W.Fragment,{children:[d>0?"+":"",d,"%"]}):"-",(0,W.jsxs)("div",{className:"scale-small-2 color-coldGrey1",children:[l," ➔ ",a]})]}):(0,W.jsxs)("div",{children:[a,(0,W.jsx)("div",{className:"scale-small-1 color-coldGrey1",children:l})]})}},status:{heading:{title:"Status",alignRight:!0,style:{width:o<1e3?40:200}},getSortByValue:e=>e.status,render:e=>{var t;return(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[o<1e3?null:(0,W.jsx)("div",{className:"ml-auto mr-2 color-coldGrey1 scale-small-1",children:null===(t=e.info)||void 0===t?void 0:t.description}),(0,W.jsx)("div",{style:{lineHeight:"1em"},children:"failure"===e.status?(0,W.jsx)(ju.h,{"data-testid":"condition-failure"}):"success"===e.status?(0,W.jsx)("div",{className:"text-success",children:(0,W.jsx)(nd.P,{"data-testid":"condition-success"})}):null})]})}}}})}function Tu(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Du(e){const t=e.conditions.flatMap(e=>e.pages.map(e=>e.status)),r=t.filter(e=>"success"===e).length,n=t.filter(e=>"failure"===e).length;return{successStatusCount:r,failStatusCount:n,totalCount:n+r}}function Pu(e){let t=e.item,r=e.project,n=e.perfSummaries,i=e.onClickAssign;return(0,W.jsx)("div",{className:"mb-2 mt-2",children:(0,W.jsx)(fu.j,{children:(0,W.jsx)(Iu,{project:r,perfSummaries:n,pageConditions:t.pageConditions,noMatchingItemsMessage:(0,W.jsxs)("div",{children:[(0,W.jsx)("p",{children:"No matching items"}),(0,W.jsx)("p",{children:(0,W.jsx)("button",{className:"btn btn-primary btn-small btn-sm",onClick:()=>i(t.id),children:"Add Pages"})})]})})})})}function Fu(e){let t=e.project,r=e.perfSummaries,n=e.pageConditions,i=void 0===n?[]:n,o=e.onClickEdit,a=e.onClickDelete,l=e.onClickAssign;const s=(0,B.useCallback)(function(e){let n=e.item;return(0,W.jsx)(Pu,{item:n,project:t,perfSummaries:r,onClickAssign:l})},[t,r,l]),c=(0,hu.a)(),d=t.advancedSettings.filter(e=>"budget"===e.type).map(e=>{const n=e.config.conditionsV2.map(n=>{var i;const o=(a=e.id,l=null!==(i=t.pageLoads)&&void 0!==i?i:[],l.filter(e=>e.pageAdvancedSettings.some(e=>e.advancedSettingId===a))).map(e=>{var t,i;const o=(null==r||null===(t=r[e.id])||void 0===t?void 0:t[0])||null,a=(null==r||null===(i=r[e.id])||void 0===i?void 0:i[1])||o,l=o&&a?(0,Xd.r)({perfSummary:o,previousPerfSummary:a,perfBudgetConditions:[n]}):null;return{...e,status:(null==l?void 0:l.status)||"unknown",info:l}});var a,l;return{...n,pages:o}});return{...e,conditions:n,pageConditions:i.filter(t=>t.budget.id===e.id)}});return(0,W.jsx)(h.mY,{items:d,columns:{budget:{heading:{title:"Budget"},render:e=>(0,W.jsx)(Mu,{budget:e,onClickDelete:a,canEdit:t.canEdit})},assignmentSummary:{heading:{title:"Assigned Pages",style:{width:c<1200?114:250},alignRight:!0},render:e=>{const r=new Set(e.conditions.flatMap(e=>e.pages.map((0,fi.A)("id"))));return(0,W.jsxs)("div",{className:"scale-small-1 color-coldGrey1 d-flex align-items-center justify-content-end gap-xxsm",children:[(0,W.jsx)("span",{children:r.size}),t.canEdit?(0,W.jsx)(S.m,{overlay:"Assign budget",placement:"top",children:(0,W.jsx)("div",{children:(0,W.jsx)(ur.K,{icon:"link","data-testid":`assign-budget-button-${e.id}`,"aria-label":`Assign budget ${e.name}`,className:"opacity-0.5 hover:opacity-1",style:{padding:"6px 3px"},onClick:t=>{t.stopPropagation(),l(e.id)}})})}):null]})}},...c>1e3?{statusSummary:{heading:{title:"Passing Checks",alignRight:!0,style:{width:c<1200?114:200}},render:e=>{const t=Du(e),r=t.successStatusCount,n=t.totalCount;return(0,W.jsxs)("div",{className:"scale-small-1 color-coldGrey1",children:[r," / ",n]})}}}:{},status:{heading:{title:"Status",alignRight:!0,style:{width:c<1200?200:250}},render:e=>{const t=Du(e),r=t.successStatusCount,n=t.failStatusCount;return(0,W.jsx)("div",{style:{marginLeft:c>=1200?50:0},children:(0,W.jsx)(xu,{passingCount:r,failingCount:n})})}},...t.canEdit?{actions:{heading:{title:"",style:{width:50}},render:e=>(0,W.jsx)("div",{className:"d-flex gap-xxsm justify-content-center",children:(0,W.jsx)(S.m,{overlay:"Edit budget",placement:"top",children:(0,W.jsx)("div",{children:(0,W.jsx)(ur.K,{"data-testid":`edit-budget-button-${e.id}`,icon:"edit","aria-label":`Edit budget ${e.name}`,className:"opacity-0.5 hover:opacity-1",style:{padding:"6px 3px"},onClick:t=>{t.stopPropagation(),o(e.id)}})})})})}}:{}},ItemDetailsRenderer:s})}function Mu(e){let t=e.budget,r=e.onClickDelete,n=e.canEdit;const i=new Set(t.conditions.flatMap(e=>e.pages.map((0,fi.A)("id")))).size;return(0,W.jsxs)("div",{className:"d-flex align-items-center gap-x
1xsm",children:[(0,W.jsx)("span",{children:t.name}),0===i&&n?(0,W.jsx)(Ou,{budget:t,onClickDelete:r}):null]})}function Ou(e){let t=e.budget,r=e.onClickDelete;const n=(a=(0,B.useState)("idle"),l=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(a,l)||function(e,t){if(e){if("string"==typeof e)return Tu(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Tu(e,t):void 0}}(a,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=n[0],o=n[1];var a,l;return"idle"!==i?(0,W.jsx)(kt.v,{}):(0,W.jsx)(S.m,{overlay:"Delete budget",placement:"top",children:(0,W.jsx)("div",{children:(0,W.jsx)(ur.K,{"data-testid":`delete-budget-button-${t.id}`,icon:"cancel","aria-label":`Delete budget ${t.name}`,className:"opacity-0.5 hover:opacity-1",style:{padding:"6px 3px"},onClick:async e=>{e.stopPropagation();try{await r(t.id)}finally{o("idle")}}})})})}_u.styleTagTransform=ve(),_u.setAttributes=pe(),_u.insert=ue().bind(null,"head"),_u.domAPI=ce(),_u.insertStyleElement=he(),le()(Su.A,_u),Su.A&&Su.A.locals&&Su.A.locals;var Lu=r(62297),Eu=r(48855);function Ru(e){var t;let r=e.visible,n=e.project,i=e.editingId,o=e.onClose,a=e.onUpdate;if(!r)return null;const l="budget",s=()=>((0,B.useLayoutEffect)(o),null);return(0,W.jsx)(U.l1,{initialValues:{...n,advancedSettingIds:null===(t=n.advancedSettings)||void 0===t?void 0:t.map(e=>e.id)},onSubmit:e=>console.log(e),children:e=>{let t=e.handleSubmit;return(0,W.jsx)("form",{onSubmit:t,children:(0,W.jsxs)(Eu.O,{apiEntityKey:"advancedSetting",formikKey:"advancedSettingIds",isOpen:!0,initialOptionIdToEdit:i,onClose:o,onUpdate:a,optionLabel:(0,Lu.Lm)(l).title,projectKey:"advancedSettings",moreInfoContent:(0,Lu.Lm)(l).explanation,moreInfoHref:(0,Lu.Lm)(l).href,children:[(0,W.jsx)(Eu.O.ListView,{children:(0,W.jsx)(s,{})}),(0,W.jsx)(Eu.O.EditView,{children:(0,W.jsx)(Lu.tt,{type:l,"data-testid":"budget-form",hideBackButton:!1})})]})})}})}var Uu=r(39457),Bu=(r(47188),r(31725)),$u=r(68125),Vu=r(81206),Hu=r(761),Wu=r(37106),Gu={};Gu.styleTagTransform=ve(),Gu.setAttributes=pe(),Gu.insert=ue().bind(null,"head"),Gu.domAPI=ce(),Gu.insertStyleElement=he(),le()(Wu.A,Gu),Wu.A&&Wu.A.locals&&Wu.A.locals;class zu extends B.Component{constructor(){var e,t,r;super(...arguments),e=this,r={generatedApiKey:null,apiKeys:null},(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="state"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}componentDidMount(){this.loadApiKeysIfCanEdit()}componentDidUpdate(e){!e.project&&this.props.project&&this.loadApiKeysIfCanEdit()}loadApiKeysIfCanEdit(){this.props.project&&this.props.project.canEdit&&u.FH.getApiKeys({projectId:this.props.project.id}).then(e=>{this.setState({apiKeys:e})})}render(){let e;return e=this.props.project&&this.props.project.canEdit?(0,W.jsxs)(B.Fragment,{children:[!this.state.apiKeys&&(0,W.jsx)(w.y,{}),this.state.apiKeys&&(0,W.jsx)("div",{children:(0,W.jsx)(Hu.S,{apiKeys:this.state.apiKeys,revokeApiKey:e=>u.FH.revokeApiKey({apiKeyId:e}).then(()=>{this.setState({apiKeys:this.state.apiKeys.filter(t=>t.id!==e)})}),generateApiKey:()=>u.FH.generateApiKey({projectId:this.props.project.id}).then(e=>(this.setState({apiKeys:[...this.state.apiKeys,e]}),e)),saveUpdatedRole:(e,t)=>
1u.FH.updateApiKeyRole({apiKeyId:e.id,role:t}),updateRole:(e,t)=>{const r=this.state.apiKeys.map(r=>r.id===e.id?{...r,role:t}:r);this.setState({apiKeys:r})}})})]}):this.props.project?(0,W.jsx)("div",{className:"p-3",children:"You don't have access to the API keys of this project."}):(0,W.jsx)(w.y,{}),(0,W.jsx)("div",{children:(0,W.jsx)(j.U5,{title:"API Keys",moreInfoHref:"/docs/api",moreInfoContent:"Use the API to programmatically configure monitored pages, trigger tests, or integrate with your CI environment.",boxHeading:!0,padded:!1,children:e})})}}var qu=r(92429);class Xu extends B.Component{render(){const e=this.props,t=e.zeitIntegrations,r=e.updateZeitIntegrations,n=e.project;return(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{style:{marginBottom:t.length>0?4:0},children:t.map((e,n)=>(0,W.jsx)(Ku,{zeitIntegration:e,project:this.props.project,onDeleted:()=>{r(t.filter(t=>t.id!==e.id))}},n))}),n.canEdit?(0,W.jsx)(p.N,{href:"/vercel/new",icon:(0,W.jsx)(qu.R,{size:20}),label:"Add Vercel Project"}):0===t.length&&(0,W.jsx)("div",{children:"No Vercel projects are connected to this project."})]})}}class Ku extends B.Component{constructor(){var e,t,r;super(...arguments),e=this,r={isInEditMode:!1,isDeleting:!1},(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="state"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}render(){const e=this.props,t=e.zeitIntegration,r=e.onDeleted,n=this.state,i=n.isInEditMode,o=n.isDeleting;return(0,W.jsxs)("div",{"data-test-zeit-project":t.zeitProjectName,children:[(0,W.jsxs)("div",{children:[(0,W.jsx)("h3",{style:{display:"inline",fontSize:16,fontWeight:i?"bold":"normal"},children:t.zeitProjectName}),(0,W.jsx)(ur.K,{icon:"config",onClick:()=>this.setState({isInEditMode:!i}),style:{verticalAlign:"middle"},title:"Configure"})]}),i&&(0,W.jsxs)("div",{style:{padding:10,maxWidth:520,marginBottom:10},children:[(0,W.jsx)(Ju,{zeitIntegration:t,project:this.props.project}),(0,W.jsx)(Zu,{zeitIntegration:t}),(0,W.jsx)(tm,{zeitIntegration:t}),(0,W.jsx)("br",{}),!o&&(0,W.jsx)("button",{className:"btn btn-sm btn-danger",onClick:()=>{this.setState({isDeleting:!0}),u.FH.deleteZeitIntegration(t.id).then(()=>{r()})},disabled:o,children:"Delete Vercel project from DebugBear"}),o&&(0,W.jsx)("div",{style:{display:"inline-block",marginLeft:4},children:(0,W.jsx)(kt.v,{})})]})]})}}class Yu extends B.Component{render(){const e=this.props,t=e.setSavingPromise,r=e.savingIndicator,n=e.zeitIntegration,i=e.project;return(0,W.jsx)(U.l1,{initialValues:{urlFilter:n.urlFilter},onSubmit:async e=>{t(u.FH.updateZeitIntegration(n.id,e))},children:e=>{let t=e.values,n=e.handleSubmit;return(0,W.jsxs)("form",{style:{maxWidth:500,paddingBottom:10},onSubmit:e=>e.preventDefault(),children:[(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{style:{width:"80%",display:"inline-block"},children:(0,W.jsx)(yt.u,{labelMarginTop:0,value:t.urlFilter,extraLabelContent:(0,W.jsx)(x.c,{content:'This filter uses the same rules as the search box in the project overview tab. For example, "myapp vercel.app" will match all pages where the URL contains both "myapp" and "vercel.app".'}),name:"urlFilter",label:"Filter pages that are tested when your Vercel project is deployed",onBlur:()=>{n()}})}),(0,W.jsx)("div",{style:{display:"inline-block"},children:r})]}),i.pageLoads&&(0,W.jsx)("div",{style:{marginTop:5},children:(0,W.jsx)(Ht,{search:t.urlFilter,pages:i.pageLoads})})]})}})}}const Ju=(0,$u.G)(Yu);class Qu extends B.Component{render(){const e=this.props,t=e.setSavingPromise,r=e.zeitIntegration;return(0,W.jsx)(U.l1,{initialValues:{branchFilter:r.branchFilter},onSubmit:async e=>{t(u.FH.updateZeitIntegration(r.id,e))},children:e=>{let t=e.values,r=e.handleSubmit;return(0,W.jsx)("form",{style:{maxWidth:500,paddingBottom:10},onSubmit:e=>e.preventDefault(),children:(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{style:{width:"80%",display:"inline-block"},children:(0,W.jsx)(yt.u,{labelMarginTop:0,extraLabelContent:(0,W.jsx)(x.c,{content:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("p",{children:'You can run tests for multiple branches by separating their names with spaces, for example "dev staging". By default all deployments are tested.'}),(0,W.jsx)("p",{children:'Use exclusions like "!main !develop" to test all branches except those specified.'})]})}),value:t.branchFilter,name:"branchFilter",label:"Only test deployments on matching branches",onBlur:()=>{r()}})}),(0,W.jsx)("div",{style:{display:"inline-block"},children:this.props.savingIndicator})]})})}})}}const Zu=(0,$u.G)(Qu);class em extends B.Component{render(){const e=this.props,t=e.setSavingPromise,r=e.zeitIntegration;return(0,W.jsx)(U.l1,{initialValues:{baseBranchCandidates:r.baseBranchCandidates.join(",")},onSubmit:async e=>{const n={baseBranchCandidates:e.baseBranchCandidates.split(",")};t(u.FH.updateZeitIntegration(r.id,n))},children:e=>{let t=e.values,r=e.handleSubmit;return(0,W.jsx)("form",{style:{maxWidth:500},onSubmit:e=>e.preventDefault(),children:(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{style:{width:"80%",display:"inline-block"},children:(0,W.jsx)(yt.u,{labelMarginTop:0,extraLabelContent:(0,W.jsx)(x.c,{href:"/docs/vercel#base-branches",content:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("p",{children:"The branch preview deployments are compared to. This is usually the branch your pull requests are merged into."}),(0,W.jsx)("p",{children:"You can provide a comma-separated list of branch names. The next branch will be used if a branch has no builds, or if the commit branch is equal to the base branch."}),(0,W.jsx)("p",{children:"For example: develop,main"})]})}),value:t.baseBranchCandidates,name:"baseBranchCandidates",label:"Base branches",onBlur:()=>{r()}})}),(0,W.jsx)("div",{style:{display:"inline-block"},children:this.props.savingIndicator})]})})}})}}const tm=(0,$u.G)(em);var rm=r(75969),nm=r(54813),im=r(87732);function om(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return am(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?am(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function am(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function lm(e){let t=e.webhooks,r=e.updateWebhooks,n=e.project;const i=om((0,B.useState)(!1),2),o=i[0],a=i[1];return(0,W.jsxs)("div",{children:[(0,W.jsx)(h.mY,{items:t,expanded:!0,noMatchingItemsMessage:"No webhooks set up",expandNewItems:!0,columns:{name:{heading:{title:"Name"},render:e=>(0,W.jsx)("div",{children:e.name})},status:{heading:{title:"Status",style:{width:80},alignRight:!0},render:e=>(0,W.jsx)("div",{style:{},children:"failed"===e.state?(0,W.jsx)(S.m,{placement:"top",overlay:"DebugBear recently encountered issues delivering events to this webhook",children:(0,W.jsx)("span",{children:(0,W.jsx)(ju.h,{className:"text-danger"})})}):(0,W.jsx)(nd.P,{className:"text-success"})})},delete:{heading:{title:"Delete",style:{width:95},alignRight:!0},render:e=>(0,W.jsx)(ur.K,{icon:"cancel",className:"opacity-0.5 hover:opacity-1",onClick:n=>{n.stopPropagation(),n.target.remove(),u.FH.deleteWebhook(e.id).then(()=>{r((0,im.b)(t,e.id))})}})}},ItemDetailsRenderer:e=>{let i=e.item;return(0,W.jsx)(sm,{webhook:i,project:n,updateWebhook:e=>r((0,im.j)(t,e))})},borderBottomForLastRow:!0}),(0,W.jsx)("div",{className:"m-3",children:(0,W.jsx)(p.N,{onClick:()=>{a(!0),u.FH.createWebhook({projectId:n.id,name:"New webhook",url:""}).then(e=>{r([...t,e])}).finally(()=>{a(!1)})},disabled:o||!n.canEdit,icon:(0,W.jsx)(rm.X,{size:20}),label:"Create Webhook"})})]})}function sm(e){let t=e.webhook,r=e.updateWebhook,n=e.project;const i=om((0,B.useState)(!1),2),o=i[0],a=i[1],l=[{label:"All tests",value:"all"},{label:"Failed tests",value:"failure"}],s=[{label:"Primary tests only",description:"excludes experiments and API branch builds",value:"primary"},{label:"All tests types",value:"all"}];return(0,W.jsx)("div",{children:(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-md my-3",children:(0,W.jsx)(U.l1,{initialValues:t,onSubmit:e=>{a(!0),u.FH.updateWebhook(t.id,e).then(()=>{r({...t,...e})}).finally(()=>{a(!1)})},children:e=>{let t=e.handleSubmit,r=e.values,i=e.setFieldValue;return(0,W.jsxs)("form",{onSubmit:t,children:[(0,W.jsx)(yt.u,{name:"name",label:"Name",validate:(0,xt.hF)("Name"),showValidationMessage:!0}),(0,W.jsx)(yt.u,{name:"url",label:"URL",validate:xt.wv,showValidationMessage:!0}),(0,W.jsxs)("div",{className:"pb-1",children:[(0,W.jsx)(yt.u,{name:"pageFilter",label:"Page Filter",placeholder:"All pages"}),(0,W.jsx)("div",{style:{marginTop:4},children:(0,W.jsx)(Ht,{pages:n.pageLoads,search:r.pageFilter})})]}),(0,W.jsxs)("div",{children:[(0,W.jsx)("label",{className:"mt-1",children:"Status Filter"}),(0,W.jsx)(Yt.m,{name:"statusFilter",onSelection:e=>{i("statusFilter",e)},options:l})]}),(0,W.jsxs)("div",{children:[(0,W.jsx)("label",{className:"mt-1",children:"Test Type"}),(0,W.jsx)(Yt.m,{name:"testType",onSelection:e=>{i("testType",e)},reactSelectStyles:{option:(e,t)=>({...e," div":{color:t.isSelected?"white !important":void 0}})},options:s,components:{Option:(0,Hs.B)(e=>(0,W.jsxs)(W.Fragment,{children:[e.data.label,e.data.description&&(0,W.jsx)("div",{className:"text-muted scale-small-1",children:e.data.description})]}))}})]}),(0,W.jsx)(v.J,{isSubmitting:o,title:"Save"})]})}})}),(0,W.jsxs)("div",{className:"col-md my-3",children:[(0,W.jsx)("h4",{className:"scale-base",children:"Delivery Attempts"}),(0,W.jsx)(cm,{webhookId:t.id})]})]})})}function cm(e){const t=e.webhookId,r=om((0,B.useState)({loadingState:"loading",attempts:null}),2),n=r[0],i=r[1],o=n.loadingState,a=n.attempts;return(0,B.useEffect)(()=>{u.FH.getLastWebhookAttempts(t).then(e=>i({loadingState:"loaded",attempts:e})).catch(()=>i(e=>({...e,loadingState:"error"})))},[t]),"error"===o?(0,W.jsx)("div",{children:"Couldn't load webhook attempts, try refreshing the page"}):"loaded"===o&&a?0===a.length?(0,W.jsx)("div",{children:"No webhook deliveries have been attempted yet."}):(0,W.jsx)(h.mY,{expandNewItems:!0,columns:{time:{heading:{title:"Time"},render:e=>(0,N.w_)(e.timestamp)},response:{heading:{title:"Response",style:{width:80}},render:e=>e.responseCode||(0,W.jsx)("i",{className:"text-muted",children:"(error)"})},status:{heading:{title:"Status",style:{width:70}},render:e=>"failed"===e.state?(0,W.jsx)(ju.h,{className:"text-danger"}):(0,W.jsx)(nd.P,{className:"text-success"})}},items:a,ItemDetailsRenderer:e=>{let t=e.item;return(0,W.jsxs)(nm.YK,{children:[(0,W.jsx)("div",{children:"Payload:"}),(0,W.jsx)("pre",{style:{maxHeight:300,background:"#fafafa",padding:4},children:(0,W.jsx)("code",{children:JSON.stringify(t.payload,null,2)})})]})}}):(0,W.jsx)("div",{role:"status","aria-label":"Loading",children:(0,W.jsx)(kt.v,{})})}var dm=r(91887),um=r(85675),mm=r(61968),pm=r(56783),gm=r(34759);const hm={alerts:{icon:(0,W.jsx)(Uo.j,{size:20}),description:"Report when lab test budget are breached or other large changes are detected."},rumAlerts:{icon:(0,W.jsx)(Ro.k,{size:20}),description:"Report when real user metrics budget breaches and other large changes occur."},jsPageWeightChanges:{icon:(0,W.jsx)(pm.t,{size:20}),description:"Report significant JavaScript bundle size changes or new files."},apiBuilds:{icon:(0,W.jsx)(um.L,{size:20}),description:"Report API builds that have a custom commitHash and test URL."},report:{icon:(0,W.jsx)(mm.c,{size:20}),description:"A weekly summary of your site's performance."},uptimeAlerts:{icon:(0,W.jsx)(gm.Z,{size:20}),description:"Report when an uptime monitor goes down or recovers."}};function fm(e){let t=e.type,r=e.label,n=e.disabledReason;const i=hm[t],o=!!n;return(0,W.jsxs)("div",{className:Ti()("d-flex align-items-center",{"text-contrast-low":o}),children:[(null==i?void 0:i.icon)&&(0,W.jsx)("span",{className:"d-inline-flex align-items-center ml-2 mr-4",children:i.icon}),(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{style:{fontWeight:500},children:[r,n&&(0,W.jsxs)("span",{children:[" (",n,")"]})]}),(null==i?void 0:i.description)&&(0,W.jsx)("div",{className:Ti()("scale-small-1",{"color-coldGrey2":!o}),children:i.description})]})]})}var vm=r(5804),bm=r(72812),xm={};function ym(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function jm(e){let t=e.children;return(0,W.jsx)("div",{className:"picker-list",children:t})}function wm(e){let t=e.children,r=e.onClick,n=e.disabled,i=e.isLast,o=e.right;const a=(d=(0,B.useState)(!1),u=2,function(e){if(Array.isArray(e))return e}(d)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(d,u)||function(e,t){if(e){if("string"==typeof e)return ym(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ym(e,t):void 0}}(d,u)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],s=a[1],c=null!=o?o:e=>{let t=e.isHovered,r=e.disabled;return(0,W.jsx)("span",{className:"d-inline-flex align-items-center color-coldGrey2",style:{opacity:t&&!r?1:0,transition:"opacity 0.15s ease"},children:(0,W.jsx)(vm.c,{size:14})})};var d,u;return(0,W.jsxs)("button",{type:"button",className:Ti()("picker-item",{"picker-item--last":i}),disabled:n,onClick:r,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:[(0,W.jsx)("div",{className:"picker-item__content",children:t}),(0,W.jsx)("span",{className:"picker-item__right",children:c({isHovered:l,disabled:!!n})})]})}function Sm(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return _m(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_m(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}xm.styleTagTransform=ve(),xm.setAttributes=pe(),xm.insert=ue().bind(null,"head"),xm.domAPI=ce(),xm.insertStyleElement=he(),le()(bm.A,xm),bm.A&&bm.A.locals&&bm.A.locals;const km=new Set(["alerts","rumAlerts"]);function Cm(e){let t=e.kind,r=e.integration,n=e.onClose,i=e.onComplete;return(0,W.jsx)(_s.a,{isOpen:!0,onClose:n,title:"Select Notification Types",children:(0,W.jsx)("div",{style:{minWidth:420},children:(0,W.jsx)(Am,{kind:t,integration:r,onComplete:i})})})}function Am(e){var t;let r=e.kind,n=e.integration,i=e.onComplete;const o=Pt[r],a=null!==(t=n.notificationConfigs)&&void 0!==t?t:[],l=new Set(a.map(e=>e.notificationType)),s=Sm((0,B.useState)(()=>{const e=new Set(l);for(const t of o)km.has(t.value)&&e.add(t.value);return e}),2),c=s[0],d=s[1],m=Sm((0,B.useState)(!1),2),p=m[0],g=m[1],h=e=>"slack"===r?u.FH.addSlackIntegrationConfig(e):u.FH.addMsTeamsIntegrationConfig(e);return(0,W.jsxs)("div",{children:[(0,W.jsx)(jm,{children:o.map((e,t)=>{const r=c.has(e.value);return(0,W.jsx)(wm,{isLast:t===o.length-1,onClick:()=>{return t=e.value,void d(e=>{const r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r});var t},right:()=>(0,W.jsx)("input",{type:"checkbox",className:"checkbox",checked:r,readOnly:!0,tabIndex:-1}),children:(0,W.jsx)(fm,{type:e.value,label:e.label})},e.value)})}),(0,W.jsx)("div",{className:"mt-3 d-flex justify-content-end",children:(0,W.jsx)("button",{type:"button",className:"btn btn-primary",disabled:p,onClick:async()=>{g(!0);try{const e=[];for(const t of o){if(!c.has(t.value)||l.has(t.value))continue;const r=await h(n.id);r.notificationType!==t.value&&(await u.FH.updateNotificationConfig(r.id,{notificationType:t.value}),r.notificationType=t.value),e.push(r)}const t=[];for(const e of a)e.id&&!c.has(e.notificationType)?await u.FH.deleteNotificationConfig(e.id):t.push(e);i([...t,...e])}finally{g(!1)}},children:p?"Setting up...":"Complete Setup"})})]})}function Nm(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Im(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Im(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Im(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Tm(e){let t=e.msTeamsIntegrations,r=e.updateMsTeamsIntegrations,n=e.project;const i=Nm((0,B.useState)(!1),2),o=i[0],a=i[1];return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(p.N,{onClick:()=>a(!0),disabled:!n.canEdit,icon:(0,W.jsx)(Et._,{size:24}),label:"Add to Teams"}),o&&(0,W.jsx)(Dm,{projectId:n.id,onClose:()=>a(!1),onComplete:e=>{r([...t,e]),a(!1)}})]})}function Dm(e){let t=e.projectId,r=e.onClose,n=e.onComplete;const i=Nm((0,B.useState)(null),2),o=i[0],a=i[1];return o?(0,W.jsx)(Cm,{kind:"msTeams",integration:o,onClose:r,onComplete:e=>n({...o,notificationConfigs:e})}):(0,W.jsx)(_s.a,{isOpen:!0,onClose:r,title:(0,W.jsxs)("span",{className:"d-inline-flex align-items-center",children:["Add Teams Integration"," ",(0,W.jsx)(x.c,{href:"/docs/microsoft-teams",content:"Send website monitoring alerts to a Teams webhook URL.",style:{marginLeft:8}})]}),children:(0,W.jsxs)("div",{style:{minWidth:420},children:[(0,W.jsxs)("p",{className:"color-coldGrey1 scale-small-1",children:["Open the ",(0,W.jsx)("strong",{children:"..."})," menu in your channel, select"," ",(0,W.jsx)("strong",{children:"Workflows"}),", and then"," ",(0,W.jsx)("strong",{children:'"Send webhooks alert to a channel"'}),". Complete the setup and then click ",(0,W.jsx)("strong",{children:'"Copy webhook link"'}),"."]}),(0,W.jsx)(Pm,{projectId:t,onCreated:a})]})})}function Pm(e){let t=e.projectId,r=e.onCreated;const n=Nm((0,B.useState)(!1),2),i=n[0],o=n[1];return(0,W.jsx)("div",{children:(0,W.jsx)(U.l1,{initialValues:{title:"",webhookUrl:""},onSubmit:async e=>{o(!0);try{var n;const i=await u.FH.createMsTeamsIntegration({projectId:t,title:e.title,webhookUrl:e.webhookUrl});r({...i,notificationConfigs:null!==(n=i.notificationConfigs)&&void 0!==n?n:[]})}finally{o(!1)}},children:e=>{let t=e.handleSubmit;return(0,W.jsxs)("form",{onSubmit:t,className:"wide-form",children:[(0,W.jsx)(yt.u,{name:"title",label:"Name",validate:(0,xt.hF)("Name"),showValidationMessage:!0}),(0,W.jsx)(yt.u,{name:"webhookUrl",label:"Webhook URL",validate:xt.wv,showValidationMessage:!0}),(0,W.jsx)(v.J,{isSubmitting:i,title:"Create"})]})}})})}function Fm(e){let t=e.msTeamsIntegration,r=e.updateIntegration;const n=Nm((0,B.useState)(!1),2),i=n[0],o=n[1];return(0,W.jsx)("div",{children:(0,W.jsx)(U.l1,{initialValues:t,onSubmit:e=>{o(!0),u.FH.updateMsTeamsIntegration(t.id,e).then(()=>{r({...t,...e})}).finally(()=>{o(!1)})},children:e=>{let t=e.handleSubmit;return(0,W.jsxs)("form",{onSubmit:t,children:[(0,W.jsx)(yt.u,{name:"title",label:"Name",validate:(0,xt.hF)("Name"),showValidationMessage:!0}),(0,W.jsx)(yt.u,{name:"webhookUrl",label:"Webhook URL",validate:xt.wv,showValidationMessage:!0}),(0,W.jsx)(v.J,{isSubmitting:i,title:"Save"})]})}})})}var Mm=r(10495),Om=r(39962);function Lm(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Em(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Em(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Em(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Rm(e,t,r){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Um(){if("undefined"==typeof window)return null;const e=new URLSearchParams(window.location.search).get("completeSlackSetup");if(!e)return null;const t=Number.parseInt(e,10);return Number.isFinite(t)?t:null}class Bm extends B.Component{constructor(){super(...arguments),Rm(this,"state",{project:null,completeSlackSetupId:Um()}),Rm(this,"dismissCompleteSlackSetup",()=>{if(this.setState({completeSlackSetupId:null}),"undefined"!=typeof window){const e=new URL(window.location.href);e.searchParams.delete("completeSlackSetup"),window.history.replaceState(null,"",e.toString())}})}componentDidMount(){"undefined"!=typeof window&&window.scrollTo(0,0),u.FH.getProject(this.props.projectId,{integrations:!0,pageLoads:!0}).then(e=>this.setState({project:e}))}render(){const e=this.state.project;if(!e)return(0,W.jsx)(w.y,{});const t="/github/installOrConfigureApp/"+e.id,r=t;let n=null;const i=e.integrations,o=i.projectGithubAppIntegrationId,a=i.githubAppIntegrations;n=e.canEdit?a.length>0?(0,W.jsxs)("div",{children:[(0,W.jsxs)("p",{"data-test-github-app-installed-message":!0,children:[(0,W.jsx)("span",{style:{color:"green"},children:"✔"})," DebugBear Github App is installed."," ",e.userAccountIsConnectedToGithub?(0,W.jsx)("a",{href:r,target:"_blank",rel:"noreferrer","data-test-configure-github-integrations":!0,children:"Configure app installations on Github"}):(0,W.jsx)("a",{href:A.DS.githubOAuth("connect",e.id),"data-test-connect-github-account":!0,children:"Connect your Github account to manage app installations on Github"}),"."]}),(0,W.jsx)($m,{githubAppIntegrations:a,projectGithubAppIntegrationId:o,projectId:e.id})]}):e.userAccountIsConnectedToGithub?(0,W.jsx)(p.N,{href:t,icon:(0,W.jsx)(Mm.H,{size:20}),label:"Install Github integration"}):(0,W.jsx)(p.N,{href:A.DS.githubOAuth("connect",e.id),icon:(0,W.jsx)(Mm.H,{size:20}),label:"First, connect to your Github account","data-test-connect-github-account":!0}):(0,W.jsx)("div",{children:"You can't configure the GitHub integration for this project."});const l=e.integrations.slackIntegrations,s=e.integrations.msTeamsIntegrations,c=t=>{this.setState({project:{...e,integrations:{...e.integrations,slackIntegrations:t}}})},d=t=>{this.setState({project:{...e,integrations:{...e.integrations,msTeamsIntegrations:t}}})},u=l.length>0||s.length>0;return(0,W.jsxs)("div",{"data-test-project-integrations":!0,children:[u&&(0,W.jsx)(pt.I,{stepId:"addChatIntegration"}),(0,W.jsx)(dm.i,{stepId:"addChatIntegration",children:"Click Add to Slack or Add to Teams to receive website monitoring notifications in chat."}),(0,W.jsxs)("div",{children:[(0,W.jsxs)(j.U5,{title:"Notification Channels",boxHeading:!0,moreInfoContent:"Connect Slack channels and Microsoft Teams webhooks. Add notifications to each channel below.",moreInfoHref:"/docs/website-monitoring-alerts",padded:!1,children:[(0,W.jsx)(Vm,{project:e,slackIntegrations:l,msTeamsIntegrations:s,emailIntegrations:e.integrations.emailIntegrations,updateSlackIntegrations:c,updateMsTeamsIntegrations:d}),e.canEdit&&(0,W.jsxs)("div",{className:"d-flex align-items-center p-3",style:{columnGap:8},children:[(0,W.jsx)(Hm,{projectId:e.id}),(0,W.jsx)(Tm,{msTeamsIntegrations:s,project:e,updateMsTeamsIntegrations:d})]})]}),(0,W.jsx)(dm.i,{stepId:"reviewAlertSettings",children:"Click on the gear icon for the notification trigger to review its settings."}),(0,W.jsx)(j.U5,{title:"Notification Triggers",boxHeading:!0,moreInfoContent:"Each notification trigger sends to its channel using the chosen notification type and settings.",padded:!1,children:(0,W.jsx)(Gm,{project:e,slackIntegrations:l,msTeamsIntegrations:s,emailIntegrations:e.integrations.emailIntegrations,updateSlackIntegrations:c,updateMsTeamsIntegrations:d,updateEmailIntegrations:t=>{this.setState({project:{...e,integrations:{...e.integrations,emailIntegrations:t}}})}})}),(0,W.jsx)(zu,{project:e}),(0,W.jsx)(j.U5,{title:"Webhooks",moreInfoContent:"Process DebugBear test results on your own infrastru
1cture.\nWebhooks can send notifications for every DebugBear test result to a web application you run.",moreInfoHref:"/docs/webhooks",boxHeading:!0,padded:!1,children:(0,W.jsx)(B.Fragment,{children:(0,W.jsx)(lm,{webhooks:e.integrations.webhooks,project:e,updateWebhooks:t=>{this.setState({project:{...e,integrations:{...e.integrations,webhooks:t}}})}})})}),(0,W.jsx)(j.U5,{title:"Vercel",moreInfoContent:"Automatically test each Vercel preview deployment.",moreInfoHref:"/docs/vercel",boxHeading:!0,children:(0,W.jsx)(Xu,{zeitIntegrations:e.integrations.zeitIntegrations,projectId:e.id,project:e,updateZeitIntegrations:t=>{this.setState({project:{...e,integrations:{...e.integrations,zeitIntegrations:t}}})}})}),(0,W.jsx)(j.U5,{title:"GitHub",moreInfoHref:"/docs/github-integration",moreInfoContent:"Report changes to Github pull requests and fail builds if your site goes over budget.",boxHeading:!0,children:n}),(0,W.jsx)(j.U5,{title:"MCP",moreInfoContent:"Connect AI tools to DebugBear over MCP. Manage connections in your account settings.",moreInfoHref:"/docs/mcp",boxHeading:!0,children:(0,W.jsxs)("div",{children:["View MCP connections"," ",(0,W.jsx)($.N_,{to:"/account/mcp",children:"in your account settings"}),"."]})})]}),null!==this.state.completeSlackSetupId&&(()=>{const e=l.find(e=>e.id===this.state.completeSlackSetupId);return e?(0,W.jsx)(Cm,{kind:"slack",integration:e,onClose:this.dismissCompleteSlackSetup,onComplete:t=>{c(l.map(r=>r.id===e.id?{...r,notificationConfigs:t}:r)),this.dismissCompleteSlackSetup()}}):null})()]})}}const $m=(0,$u.G)(class extends B.Component{constructor(e){super(e),this.state={value:e.projectGithubAppIntegrationId}}render(){const e=this.props,t=e.githubAppIntegrations,r=e.projectId,n=[{value:null,label:"None"},...t.map(e=>({label:e.accountLogin,value:e.id}))];return(0,W.jsxs)("div",{style:{width:400},className:"row",children:[(0,W.jsx)("div",{className:"col-md-11",children:(0,W.jsx)(Dt.l,{small:!0,className:"test-github-integration-dropdown",onChange:e=>{this.setState({value:e.value}),this.props.setSavingPromise(u.FH.updateProjectGithubIntegration(r,e.value))},options:n,value:n.find(e=>e.value===this.state.value)})}),(0,W.jsx)("div",{className:"col-md-1",style:{paddingLeft:0,marginTop:5},children:this.props.savingIndicator})]})}});function Vm(e){let t=e.project,r=e.slackIntegrations,n=e.msTeamsIntegrations,i=e.emailIntegrations,o=e.updateSlackIntegrations,a=e.updateMsTeamsIntegrations;const l=[{kind:"email"},...r.map(e=>({kind:"slack",integration:e})),...n.map(e=>({kind:"teams",integration:e}))];return(0,W.jsx)(h.mY,{items:l,expanded:!0,expandNewItems:!0,noMatchingItemsMessage:"No channels connected",borderBottomForLastRow:!0,getItemKey:e=>"email"===e.kind?"email":`${e.kind}-${e.integration.id}`,getRowProps:e=>({..."slack"===e.kind?{"data-test-slack-integration":!0}:{}}),columns:{channel:{heading:{title:"Channel"},render:e=>"email"===e.kind?(0,W.jsxs)("span",{className:"d-inline-flex align-items-center",children:[(0,W.jsx)(Ot.a,{strokeWidth:1.5,size:16,className:"mr-3"}),"Email"]}):"slack"===e.kind?(0,W.jsxs)("span",{className:"d-inline-flex align-items-center",children:[(0,W.jsx)(Lt.k,{size:16,className:"mr-3"}),e.integration.slackToken.details.incoming_webhook.channel]}):(0,W.jsxs)("span",{className:"d-inline-flex align-items-center",children:[(0,W.jsx)(Et._,{size:16,className:"mr-3"}),e.integration.title]})},triggers:{heading:{title:"Triggers",alignRight:!0},render:e=>{var t;const r="email"===e.kind?i.reduce((e,t)=>{var r;return e+(null!==(r=t.notificationConfigs)&&void 0!==r?r:[]).length},0):(null!==(t=e.integration.notificationConfigs)&&void 0!==t?t:[]).length;return(0,W.jsxs)("span",{className:"scale-small-1 color-coldGrey1",children:[r," Trigger",1===r?"":"s"]})}},actions:{heading:{title:"Actions",alignRight:!0},render:e=>t.canEdit?"email"===e.kind?null:(0,W.jsx)("div",{className:"d-flex align-items-center justify-content-end",style:{columnGap:8},onClick:e=>e.stopPropagation(),children:(0,W.jsx)(ur.K,{icon:"cancel","data-test-delete-slack-integration-button":"slack"===e.kind||void 0,title:"Delete",className:"opacity-0.5 hover:opacity-1",onClick:()=>(async e=>{if("slack"===e.kind){if(!await(0,Yo.Z)("Do you want to delete this slack integration?",{confirmLabel:"Delete"}))return;try{await u.FH.deleteSlackIntegration(e.integration.id)}catch(e){var t;return void(0,ou.m)(`Failed to delete Slack integration: ${null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"unknown error"}`)}o(r.filter(t=>t.id!==e.integration.id))}else if("teams"===e.kind){if(!await(0,Yo.Z)("Do you want to delete this Teams integration?",{confirmLabel:"Delete"}))return;try{await u.FH.deleteMsTeamsIntegration(e.integration.id)}catch(e){var i;return void(0,ou.m)(`Failed to delete Teams integration: ${null!==(i=null==e?void 0:e.message)&&void 0!==i?i:"unknown error"}`)}a(n.filter(t=>t.id!==e.integration.id))}})(e)})}):null}},ItemDetailsRenderer:e=>{var t;let r=e.item;const o=("email"===r.kind?i.flatMap(e=>{var t;return null!==(t=e.notificationConfigs)&&void 0!==t?t:[]}):null!==(t=r.integration.notificationConfigs)&&void 0!==t?t:[]).map(e=>{var t;return null!==(t=Rt[e.notificationType])&&void 0!==t?t:e.notificationType});return(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{className:"scale-small-1 color-coldGrey2",children:["Triggers: ",o.length?o.join(", "):"None"]}),"teams"===r.kind&&(0,W.jsx)(Fm,{msTeamsIntegration:r.integration,updateIntegration:e=>{a(n.map(t=>
1t.id===e.id?e:t))}})]})}})}function Hm(e){let t=e.projectId;const r=`https://slack.com/oauth/v2/authorize?client_id=${Bu.A.slackAppClientId}&scope=incoming-webhook&state=${t}`+(location.href.includes("debugbear.com")?"&redirect_uri="+encodeURIComponent("https://www.debugbear.com/slack/callback"):"");return(0,W.jsx)(p.N,{href:r,icon:(0,W.jsx)(Lt.k,{size:24}),label:"Add to Slack"})}const Wm={alerts:"Lab Alerts",report:"Weekly Report",rumAlerts:"RUM Alerts",uptimeAlerts:"Uptime Alerts",jsPageWeightChanges:"JS File Size Changes"};function Gm(e){let t=e.project,r=e.slackIntegrations,n=e.msTeamsIntegrations,i=e.emailIntegrations,o=e.updateSlackIntegrations,a=e.updateMsTeamsIntegrations,l=e.updateEmailIntegrations,s=e.notificationTypeFilter,c=e.hideAddButton;const d=B.useContext(wu.B).isDarkMode,g=(e,t)=>(e.config.createdAt?new Date(e.config.createdAt).getTime():0)-(t.config.createdAt?new Date(t.config.createdAt).getTime():0),f=[...i.flatMap(e=>{var t;return(null!==(t=e.notificationConfigs)&&void 0!==t?t:[]).map(t=>({kind:"email",integration:e,config:t}))}).sort(g),...r.flatMap(e=>{var t;return(null!==(t=e.notificationConfigs)&&void 0!==t?t:[]).map(t=>({kind:"slack",integration:e,config:t}))}).sort(g),...n.flatMap(e=>{var t;return(null!==(t=e.notificationConfigs)&&void 0!==t?t:[]).map(t=>({kind:"teams",integration:e,config:t}))}).sort(g)],v=s?f.filter(e=>e.config.notificationType===s):f,b=e=>!!e.config.createdAt&&Date.now()-new Date(e.config.createdAt).getTime()<3e4,x=e=>b(e)?(0,W.jsx)(m.E,{bgColor:d?"blue2":"blue1",className:"ml-2",children:"NEW"}):null,y=Lm(B.useState(!1),2),j=y[0],w=y[1],_=(0,W.jsx)(h.mY,{items:v,expanded:!0,noMatchingItemsMessage:"No notification triggers configured. Add a channel and use + Add notification trigger.",borderBottomForLastRow:!0,getItemKey:e=>`${e.kind}-${e.config.id}`,getRowProps:e=>({[`data-test-notification-trigger-${e.kind}`]:!0,...b(e)?{style:{background:d?"rgb(155 178 241 / 16%)":"#fff8c5"}}:{}}),columns:{channel:{heading:{title:"Channel"},render:e=>"slack"===e.kind?(0,W.jsxs)("span",{className:"d-inline-flex align-items-center",children:[(0,W.jsx)(Lt.k,{size:16,className:"mr-3"}),e.integration.slackToken.details.incoming_webhook.channel,x(e)]}):"teams"===e.kind?(0,W.jsxs)("span",{className:"d-inline-flex align-items-center",children:[(0,W.jsx)(Et._,{size:16,className:"mr-3"}),e.integration.title,x(e)]}):(0,W.jsxs)("span",{className:"d-inline-flex align-items-center",children:[(0,W.jsx)(Ot.a,{strokeWidth:1.5,size:16,className:"mr-3"}),"Email",x(e)]})},notificationType:{heading:{title:"Notification Type"},render:e=>{var r;if("email"===e.kind){var n,i;const r=e.config.notificationType;return(0,W.jsxs)("div",{className:"d-flex align-items-center justify-content-between",children:[(0,W.jsx)("span",{children:null!==(n=Wm[e.config.notificationType])&&void 0!==n?n:e.config.notificationType}),(0,W.jsx)(Vu.l,{projectId:t.id,title:"Subscribe",notificationType:r,defaultChecked:null!==(i=e.integration.currentUserIsSubscribed)&&void 0!==i&&i})]})}return(0,W.jsx)("span",{children:null!==(r=Rt[e.config.notificationType])&&void 0!==r?r:e.config.notificationType})}},configure:{heading:{title:"",alignRight:!0},render:e=>{if(!t.canEdit)return null;const s=!("email"===e.kind&&"report"===e.config.notificationType),c=(e=>{var t;const r=null!==(t=Rt[e.config.notificationType])&&void 0!==t?t:e.config.notificationType;return"slack"===e.kind?`${e.integration.slackToken.details.incoming_webhook.channel} ${r}`:"teams"===e.kind?`${e.integration.title} ${r}`:`Email ${r}`})(e);return(0,W.jsxs)("div",{className:"d-flex justify-content-end align-items-center",style:{columnGap:16},children:[s&&(0,W.jsx)($.N_,{to:A.DS.editNotificationConfig(t.id,e.config.id),className:"d-flex",children:(0,W.jsx)(ur.K,{icon:"config",title:"Configure",className:"opacity-0.5 hover:opacity-1"})}),(0,W.jsx)(S.m,{overlay:"email"===e.kind?"Delete email notification trigger for everyone on your team":"Delete notification trigger",children:(0,W.jsx)("span",{className:"d-inline-flex",children:(0,W.jsx)(ur.K,{icon:"cancel",className:"opacity-0.5 hover:opacity-1",onClick:async()=>
1{if(!await(0,Yo.Z)(`Do you want to delete the ${c} notification trigger?`,{confirmLabel:"Delete"}))return;const t=await u.FH.deleteNotificationConfig(e.config.id);"email"===e.kind?l(i.filter(t=>t.id!==e.integration.id)):"slack"===e.kind?t.integrationDeleted?o(r.filter(t=>t.id!==e.integration.id)):o(r.map(t=>{var r;return t.id===e.integration.id?{...t,notificationConfigs:(null!==(r=t.notificationConfigs)&&void 0!==r?r:[]).filter(t=>t.id!==e.config.id)}:t})):t.integrationDeleted?a(n.filter(t=>t.id!==e.integration.id)):a(n.map(t=>{var r;return t.id===e.integration.id?{...t,notificationConfigs:(null!==(r=t.notificationConfigs)&&void 0!==r?r:[]).filter(t=>t.id!==e.config.id)}:t}))}})})})]})}}}});return(0,W.jsxs)(W.Fragment,{children:[_,t.canEdit&&!c&&(0,W.jsx)("div",{className:"p-3",children:(0,W.jsx)(p.N,{onClick:()=>w(!0),icon:(0,W.jsx)(Om.I,{size:18}),label:"Add Notification Trigger"})}),j&&(0,W.jsx)(qm,{projectId:t.id,slackIntegrations:r,msTeamsIntegrations:n,emailIntegrations:i,onClose:()=>w(!1),onSlackOrTeamsCreated:(e,t,i)=>{"slack"===e?o(r.map(e=>{var r;return e.id===t?{...e,notificationConfigs:[...null!==(r=e.notificationConfigs)&&void 0!==r?r:[],i]}:e})):a(n.map(e=>{var r;return e.id===t?{...e,notificationConfigs:[...null!==(r=e.notificationConfigs)&&void 0!==r?r:[],i]}:e})),w(!1)},onEmailCreated:e=>{l([...i,e]),w(!1)}})]})}const zm=[{value:"alerts",label:"Lab Alerts"},{value:"rumAlerts",label:"RUM Alerts"},{value:"uptimeAlerts",label:"Uptime Alerts"},{value:"jsPageWeightChanges",label:"JS File Size Changes"},{value:"report",label:"Weekly Report"}];function qm(e){let t=e.projectId,r=e.slackIntegrations,n=e.msTeamsIntegrations,i=e.emailIntegrations,o=e.onClose,a=e.onSlackOrTeamsCreated,l=e.onEmailCreated;const s=Lm(B.useState(null),2),c=s[0],d=s[1],m=Lm(B.useState(!1),2),p=m[0],g=m[1],h=[{kind:"email"},...r.map(e=>({kind:"slack",integration:e})),...n.map(e=>({kind:"teams",integration:e}))],f=e=>"email"===e.kind?(0,W.jsxs)("span",{className:"d-inline-flex align-items-center",children:[(0,W.jsx)(Ot.a,{strokeWidth:1.5,size:20,className:"mr-3"}),"Email"]}):"slack"===e.kind?(0,W.jsxs)("span",{className:"d-inline-flex align-items-center",children:[(0,W.jsx)(Lt.k,{size:20,className:"mr-3"}),e.integration.slackToken.details.incoming_webhook.channel]}):(0,W.jsxs)("span",{className:"d-inline-flex align-items-center",children:[(0,W.jsx)(Et._,{size:20,className:"mr-3"}),e.integration.title]}),v=e=>(null!=e?e:[]).some(e=>"report"===e.notificationType),b=(e,t)=>e.map(e=>({...e,disabled:t&&"report"===e.value,disabledReason:t&&"report"===e.value?"Only one allowed per channel":void 0})),x=(()=>{if(!c)return[];if("email"===c.kind){const e=i.some(e=>v(e.notificationConfigs));return b(zm,e)}return"slack"===c.kind?b(Pt.slack,v(c.integration.notificationConfigs)):b(Pt.msTeams,v(c.integration.notificationConfigs))})();return(0,W.jsx)(_s.a,{isOpen:!0,onClose:o,title:c?"Select Notification Type":"Pick a channel",titleRight:c?(()=>{if(!c)return null;let e;return e="email"===c.kind?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Ot.a,{strokeWidth:1.5,size:16,className:"mr-2"}),"Email"]}):"slack"===c.kind?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Lt.k,{size:16,className:"mr-2"}),c.integration.slackToken.details.incoming_webhook.channel]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Et._,{size:16,className:"mr-2"}),c.integration.title]}),(0,W.jsx)("button",{type:"button",className:"btn btn-link p-0 d-inline-flex align-items-center",title:"Change channel",onClick:()=>d(null),children:e})})():void 0,children:(0,W.jsxs)("div",{style:{minWidth:360},children:[!c&&(0,W.jsx)(jm,{children:h.map((e,t)=>(0,W.jsx)(wm,{isLast:t===h.length-1,onClick:()=>d(e),children:f(e)},(e=>"email"===e.kind?"email":`${e.kind}-${e.integration.id}`)(e)))}),c&&(0,W.jsx)("div",{style:{opacity:p?.5:1,pointerEvents:p?"none":"auto",transition:"opacity 0.15s ease"},children:(0,W.jsx)(jm,{children:x.map((e,r)=>(0,W.jsx)(wm,{isLast:r===x.length-1,disabled:p||e.disabled,onClick:()=>(async e=>{if(c&&!p){g(!0);try{if("email"===c.kind){const r=await u.FH.createEmailIntegrationWithConfig(t,e);return void l(r)}const r="slack"===c.kind?await u.FH.addSlackIntegrationConfig(c.integration.id):await u.FH.addMsTeamsIntegrationConfig(c.integration.id);let n=r;r.notificationType!==e&&(await u.FH.updateNotificationConfig(r.id,{notificationType:e}),n={...r,notificationType:e}),a(c.kind,c.integration.id,n)}finally{g(!1)}}})(e.value),children:(0,W.jsx)(fm,{type:e.value,label:e.label,disabledReason:e.disabledReason})},e.value))})})]})})}function Xm(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Km(e){let t=e.projectId,r=e.notificationType;const n=(a=(0,B.useState)(null),l=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(a,l)||function(e,t){if(e){if("string"==typeof e)return Xm(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Xm(e,t):void 0}}(a,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=n[0],o=n[1];var a,l;return(0,B.useEffect)(()=>{let e=!0;return u.FH.getProject(t,{integrations:!0,pageLoads:!0}).then(t=>{e&&o(t)}),()=>{e=!1}},[t]),(0,W.jsx)(j.U5,{title:"rumAlerts"===r?"RUM Notification Channels":"Lab Data Notification Channels",boxHeading:!0,padded:!1,titleChildren:(0,W.jsx)($.N_,{to:A.DS.projectUrl(t,"integrations"),className:"ml-auto scale-small-1",children:"Configure Channels"}),children:i?(0,W.jsx)(Gm,{project:i,slackIntegrations:i.integrations.slackIntegrations,msTeamsIntegrations:i.integrations.msTeamsIntegrations,emailIntegrations:i.integrations.emailIntegrations,updateSlackIntegrations:e=>o({...i,integrations:{...i.integrations,slackIntegrations:e}}),updateMsTeamsIntegrations:e=>o({...i,integrations:{...i.integrations,msTeamsIntegrations:e}}),updateEmailIntegrations:e=>o({...i,integrations:{...i.integrations,emailIntegrations:e}}),notificationTypeFilter:r,hideAddButton:!0}):(0,W.jsx)("div",{className:"d-flex p-3",children:(0,W.jsx)(w.y,{})})})}function Ym(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Jm(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Jm(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Jm(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Qm(e){let t=e.project;const r=(0,l.O)().fetchProject,n=Ym((0,B.useState)(void 0),2),i=n[0],o=n[1],a=Ym((0,V.t)("filter","all"),2),s=a[0],c=a[1],d=t.pageLoads.flatMap(e=>e.pageAdvancedSettings.filter(e=>"budget"===e.advancedSetting.type).flatMap(r=>{var n,o;const a=(null==i||null===(n=i[e.id])||void 0===n?void 0:n[0])||null,l=(null==i||null===(o=i[e.id])||void 0===o?void 0:o[1])||a;return r.advancedSetting.config.conditionsV2.map(n=>{var i,o;const s=a&&l?(0,Xd.r)({perfSummary:a,previousPerfSummary:l,perfBudgetConditions:[n]}):null;var c,d;return{page:e,condition:n,budget:(c=r.advancedSetting.id,d=null!==(i=t.advancedSettings)&&void 0!==i?i:[],d.find(e=>e.id===c)),status:(null==s?void 0:s.status)||"pending",info:null!==(o=null==s?void 0:s.breachDetails[0])&&void 0!==o?o:null==s?void 0:s.unbreachedConditions[0]}})})),m=Ym((0,B.useState)({showModal:void 0,editingId:void 0}),2),p=m[0],g=m[1],h=d.filter(e=>"success"===e.status).length,f=d.filter(e=>"failure"===e.status).length;return(0,B.useEffect)(()=>{"undefined"!=typeof window&&window.scrollTo(0,0)},[]),(0,B.useEffect)(()=>{u.FH.getProjectLastTwoPerfSummaries(t.id).then(e=>{o(e)})},[t.id,o]),(0,W.jsxs)("div",{children:[(0,W.jsxs)(j.U5,{boxHeading:!0,title:"Performance Budgets",padded:!1,moreInfoContent:"Set up budgets to keep your website on track and get alerted to new issues.",moreInfoHref:"/docs/performance-budgets",titleChildren:(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[d.length>0&&(0,W.jsx)("div",{className:"ml-2 mr-1",children:(0,W.jsx)("div",{style:{width:184},children:(0,W.jsx)(xu,{passingCount:h,failingCount:f})})}),t.canEdit?(0,W.jsx)(ur.K,{icon:"add","data-testid":"add-budget-button",className:"mx-2 d-flex justify-content-center opacity-0.5 hover:opacity-1",style:{paddingLeft:"0.5rem"},onClick:()=>{g({showModal:"form",editingId:-1})}}):null]}),children:[t.advancedSettings.some(e=>"budget"===e.type)?(0,W.jsx)(Fu,{project:t,perfSummaries:i,pageConditions:d,onClickEdit:e=>{g({showModal:"form",editingId:e})},onClickAssign:e=>g({showModal:"assign",editingId:e}),onClickDelete:e=>{var n,i;return confirm(`Are you sure you want to delete '${null!==(n=null===(i=t.advancedSettings.find(t=>
1t.id===e))||void 0===i?void 0:i.name)&&void 0!==n?n:"this budget"}'?`)?u.FH.advancedSetting.delete(e).then(async()=>{await r()}):Promise.resolve()}}):(0,W.jsxs)("div",{className:"project-setup-cta",children:[(0,W.jsx)(Uu.ql,{title:"Set up performance budgets",subtitle:"Define page-level thresholds for Lighthouse scores, Web Vitals, and more. Get alerted when a page goes over budget."}),t.canEdit&&(0,W.jsx)("div",{className:"d-flex justify-content-center",children:(0,W.jsxs)("button",{type:"button",className:"btn btn-primary d-inline-flex align-items-center",onClick:()=>{g({showModal:"form",editingId:-1})},children:[(0,W.jsx)(y.c,{size:14,strokeWidth:1.5,className:"mr-2"}),"Create Performance Budget"]})})]}),(0,W.jsx)(Ru,{editingId:p.editingId,onClose:()=>{g({showModal:void 0,editingId:void 0})},onUpdate:async e=>{const t=-1===p.editingId;await r(),t&&null!=e&&e.id&&g({showModal:"assign",editingId:e.id})},project:t,visible:"form"===p.showModal}),(0,W.jsx)(mu,{projectId:t.id,visible:"assign"===p.showModal&&!!p.editingId,onClose:()=>{g({showModal:void 0,editingId:void 0})},budgetId:p.editingId})]}),(0,W.jsx)(Km,{projectId:t.id,notificationType:"alerts"}),d.length>0&&(0,W.jsx)(j.U5,{boxHeading:!0,title:"Budget Conditions",padded:!1,"data-testid":"budget-conditions-container",titleChildren:(0,W.jsx)("div",{className:"d-flex align-items-center",children:(0,W.jsx)(H.L,{options:[{title:"All",value:"all"},{title:"Passing",value:"passing"},{title:"Failing",value:"failing"}],optionValue:s,onSelectOption:e=>c(e)})}),children:(0,W.jsx)(Iu,{project:t,perfSummaries:i,pageConditions:d.filter(e=>"passing"===s?"success"===e.status:"failing"!==s||"failure"===e.status)})})]})}var Zm=r(55877),ep=r(89778),tp=r(89512),rp=r(24101),np=(r(67163),r(90566)),ip={};ip.styleTagTransform=ve(),ip.setAttributes=pe(),ip.insert=ue().bind(null,"head"),ip.domAPI=ce(),ip.insertStyleElement=he(),le()(np.A,ip),np.A&&np.A.locals&&np.A.locals;var op=r(46005);function ap(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return lp(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lp(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function lp(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function sp(e){var t,r,n,i,o;const a=e.projectId,s=(0,l.O)(),c=B.useMemo(()=>{var e,t;return null!==(e=null===(t=s.project)||void 0===t?void 0:t.devices)&&void 0!==e?e:[]},[null===(t=s.project)||void 0===t?void 0:t.devices]),d=null===(r=null===(n=s.project)||void 0===n?void 0:n.canEdit)||void 0===r||r,m=(0,hu.a)()<800?40:140,p=ap(B.useState(""),2),g=p[0],h=p[1],v=ap(B.useState(null),2),b=v[0],x=v[1],y=ap(B.useState("us-east"),2),_=y[0],k=y[1],C=ap(B.useState(!1),2),A=C[0],N=C[1],I=ap(B.useState(null),2),T=I[0],D=I[1],P=ap(B.use
1State(null),2),F=P[0],M=P[1],O=ap(B.useState(!1),2),L=O[0],E=O[1];async function R(){try{const e=(await u.FH.getQuickTests(a)).quickTests;M(e)}catch(e){console.error("Failed to load quick tests",e)}}B.useEffect(()=>{if(!L)return;const e=setTimeout(()=>E(!1),4e3);return()=>clearTimeout(e)},[L]),B.useEffect(()=>{if(c.length>0&&null==b){const e=c.find(e=>"Mobile"===e.name);x((null!=e?e:c[0]).id)}},[c,b]),B.useEffect(()=>{R()},[a]);const U=(null!=F?F:[]).some(e=>!e.completedAt);return B.useEffect(()=>{if(!U)return;const e=window.Cypress||window.isDebugBearEndToEndTest?1e3:3e4,t=setInterval(()=>{R()},e);return()=>clearInterval(t)},[U,a]),(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(j.U5,{title:"Run Tests Without Setting Up Monitoring",boxHeading:!0,moreInfoContent:"Quick tests let you run a one-off page speed test against any URL without adding it to your monitored pages.",moreInfoHref:"/docs/quick-tests",children:(0,W.jsxs)("div",{"data-test-quick-test-form":!0,style:{padding:`${m}px 0`},children:[(0,W.jsxs)("form",{onSubmit:async function(e){if(e.preventDefault(),g&&b&&_){N(!0),D(null);try{await u.FH.triggerQuickTest(a,[{url:g,deviceId:b,region:_}],{onError:()=>!0}),h(""),E(!0),await R()}catch(e){var t;const r=(null==e||null===(t=e.responseJson)||void 0===t?void 0:t.error)||(null==e?void 0:e.message)||"Failed to start quick test";D(r)}finally{N(!1)}}},style:{maxWidth:800,margin:"0 auto",position:"relative"},children:[(0,W.jsxs)("div",{className:"d-flex",style:{gap:"0.5rem"},children:[(0,W.jsx)("input",{type:"text",inputMode:"url",placeholder:"https://example.com",value:g,onChange:e=>h(e.target.value),className:"form-control","data-test-quick-test-url":!0,style:{flexGrow:1,fontSize:"1.15rem",padding:"0.75rem",lineHeight:1.4},required:!0}),(()=>{const e=(0,W.jsx)("button",{type:"submit",className:"btn btn-primary","data-test-quick-test-submit":!0,style:{whiteSpace:"nowrap",padding:"0.75rem 1.25rem",fontSize:"1.15rem",lineHeight:1.4},disabled:A||!d,children:A?"Starting…":"Start Test"});if(!d){const t="You have read-only access to this project, so you can't run quick tests.";return(0,W.jsx)(S.m,{overlay:t,children:(0,W.jsx)("span",{style:{display:"inline-block"},tabIndex:0,role:"button","aria-disabled":"true","aria-label":t,children:e})})}return e})()]}),(0,W.jsxs)("div",{className:"d-flex mt-2",style:{gap:"0.5rem"},children:[(0,W.jsx)("div",{style:{flexBasis:0,flexGrow:1},children:(0,W.jsx)(op.Ay,{className:"react-select-container",classNamePrefix:"react-select","data-testid":"quick-test-device",value:null!==(i=c.find(e=>e.id===b))&&void 0!==i?i:null,options:c,getOptionLabel:e=>e.name,getOptionValue:e=>String(e.id),onChange:e=>x(e?e.id:null),components:tp.bM,isSearchable:!0,theme:rp.D,styles:{option:e=>({...e,padding:"4px 12px"})}})}),(0,W.jsx)("div",{style:{flexBasis:0,flexGrow:1},children:(0,W.jsx)(op.Ay,{className:"react-select-container",classNamePrefix:"react-select","data-testid":"quick-test-region",value:null!==(o=Bt.T8.find(e=>e.value===_))&&void 0!==o?o:null,options:Bt.T8,getOptionLabel:e=>e.name,getOptionValue:e=>e.value,onChange:e=>e&&k(e.value),components:tp.XL,isSearchable:!0,theme:rp.D,styles:{option:e=>({...e,padding:"4px 12px"})}})})]}),T&&(0,W.jsx)("div",{className:"color-fail mt-2 scale-small-1",children:T}),L&&!T&&(0,W.jsxs)("div",{className:"quick-test-started-confirmation",style:{position:"absolute",left:0,right:0,top:"100%",marginTop:16,display:"flex",justifyContent:"center",alignItems:"center",gap:6,fontWeight:500,color:"var(--ratingColorPass)"},children:[(0,W.jsx)(ep.S,{size:12}),"Quick Test Started"]})]}),(0,W.jsx)(f.w,{children:(0,W.jsx)("div",{className:"mt-3 text-center scale-small-1",children:(0,W.jsx)("a",{href:`/debugbearadmin/quickTests/${a}`,children:"Admin: View quick tests + queue jobs for this project"})})})]})}),null==F?(0,W.jsx)(w.y,{}):0===F.length?(0,W.jsx)(cp,{}):(0,W.jsx)("div",{"data-test-quick-test-list":!0,children:F.map(e=>{const t=c.find(t=>t.id===e.deviceId),r={id:e.id,isPrimary:!1,pageLoadId:0,createdAt:e.createdAt,buildTitle:null,commitBranch:null,commitHash:null,metrics:e.perfSummary?{values:e.perfSummary}
1:null,refAnalysis:null,pageLoad:{name:e.url,region:e.region,pageAdvancedSettings:[],device:null!=t?t:{formFactor:"desktop"}}};return(0,W.jsx)("div",{"data-test-quick-test-row":e.id,children:(0,W.jsx)(Zm.H1,{analysis:r,projectId:a,emphasis:"value",hrefOverride:`/project/${a}/quickTest/${e.shareKey}/overview`})},e.id)})})]})}function cp(){return(0,W.jsx)(j.U5,{padded:!1,className:"mt-3",children:(0,W.jsx)($c.RO,{badge:"Quick Tests",title:"Run One-Off Page Checks",description:"Test any URL without setting up a monitoring schedule.",features:["Run exploratory tests","Get full analysis results","Share results with anyone via a public link"],image:"https://www.debugbear.com/dimg/5948dd61550090fa367c291f76348a26.png",Actions:()=>null})})}var dp=r(23118),up=r(14502),mp=r(34693);function pp(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return gp(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?gp(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function gp(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const hp=[{title:"Every 30 Seconds",seconds:30},{title:"Every Minute",seconds:60},{title:"Every 5 Minutes",seconds:300},{title:"Every 10 Minutes",seconds:600},{title:"Every 15 Minutes",seconds:900},{title:"Every Hour",seconds:3600}].filter(e=>e.seconds>=60),fp=[{value:1,title:"Alert immediately"},{value:3,title:"After 3 failures"},{value:5,title:"After 5 failures"},{value:0,title:"Off"}],vp={responseCode:{enabled:!0,value:"2xx",followRedirects:!1},responseTime:{enabled:!1,value:""},responseContains:{enabled:!1,value:""},responseHeader:{enabled:!1,name:"",value:""}};function bp(e){const t=e.assertions,r=t.responseCode,n=t.responseTime,i=t.responseContains,o=t.responseHeader;return{runEveryNSeconds:e.runEveryNSeconds,alertAfterFailures:0===e.alertAfterFailures?null:e.alertAfterFailures,confirmOutagesWithSecondRegion:e.confirmOutagesWithSecondRegion,followRedirects:r.followRedirects,validateResponseStatus:r.enabled?r.value:null,validateMaxResponseTime:n.enabled&&""!==n.value?Number(n.value):null,validateResponseContains:i.enabled?i.value:null,validateResponseHeaderName:o.enabled?o.name:null,validateResponseHeaderValue:o.enabled?o.value:null}}function xp(e){return{url:e.url,name:e.name||(0,up.x)(e.url),...bp(e)}}const yp={paddingTop:3,paddingBottom:3},jp={marginTop:5,marginBottom:10};function wp(e){let t=e.name,r=e.label,n=e.testId,i=e.children;return(0,W.jsxs)("div",{className:"d-flex align-items-center gap-xsm mt-2","data-testid":n,children:[(0,W.jsx)(Rs._,{className:"my-0",variant:"checkbox",name:`${t}.enabled`,title:r,testName:n}),i]})}function Sp(e){let t=e.projectId,r=e.monitorId,n=e.mode,i=void 0===n?"single":n;const o=(0,$.Zp)(),a=()=>{o(A.DS.projectUrl(t,"uptime"))},l=null!=r,s=!l&&"bulk"===i,c=pp((0,B.useState)(!1),2),d=c[0],m=c[1],p=pp((0,B.useState)(!1),2),g=p[0],h=p[1],f=pp((0,B.useState)(null),2),b=f[0],x=f[1],y=pp((0,B.useState)(l?null:{url:"",name:"",bulkUrls:"",type:"http",runEveryNSeconds:300,alertAfterFailures:1,confirmOutagesWithSecondRegion:!0,assertions:vp}),2),S=y[0],_=y[1];if((0,B.useEffect)(()=>{x(null)},[i]),(0,B.useEffect)(()=>{if(null==r)return;let e=!1;return h(!1),u.FH.getUptimeMonitor(r).then(t=>{e||_(function(e){var t,r,n,i,o;return{url:e.url,name:e.name,bulkUrls:"",type:"http",runEveryNSeconds:e.runEveryNSeconds,alertAfterFailures:null!==(t=e.alertAfterFailures)&&void 0!==t?t:0,confirmOutagesWithSecondRegion:e.confirmOutagesWithSecondRegion,assertions:{responseCode:{enabled:null!=e.validateResponseStatus,value:null!==(r=e.validateResponseStatus)&&void 0!==r?r:"2xx",followRedirects:e.followRedirects},responseTime:{enabled:null!=e.validateMaxResponseTime,value:null==e.validateMaxResponseTime?"":String(e.validateMaxResponseTime)},responseContains:{enabled:null!=e.validateResponseContains,value:null!==(n=e.validateResponseContains)&&void 0!==n?n:""},responseHeader:{enabled:null!=e.validateResponseHeaderName,name:null!==(i=e.validateResponseHeaderName)&&void 0!==i?i:"",value:null!==(o=e.validateResponseHeaderValue)&&void 0!==o?o:""}}}}(t))}).catch(()=>{e||h(!0)}),()=>{e=!0}},[r]),g)return(0,W.jsx)(j.U5,{title:"Edit Uptime Monitor",boxHeading:!0,children:(0,W.jsx)("div",{className:"color-coldGrey1",children:"Failed to load this monitor. Please try again."})});if(null==S)return(0,W.jsx)(j.U5,{title:"Edit Uptime Monitor",boxHeading:!0,children:(0,W.jsx)("div",{className:"p-4",children:(0,W.jsx)(w.y,{})})});const k=(0,W.jsx)(U.l1,{initialValues:S,validateOnBlur:!1,onSubmit:async e=>{if(null!=r)return await u.FH.updateUptimeMonitor(r,xp(e)),void o(`${A.DS.projectUrl(t,"uptime")}/${r}`);const n=s?function(e){const t=bp(e);return(0,mp.A)(e.bulkUrls).map(e=>({url:e.url,name:e.name,...t}))}(e):[xp(e)];x(null);const i=(await u.FH.createUptimeMonitors(t,n)).results,l=i.filter(e=>e.error);0!==l.length?s?x(i):alert(l[0].error):a()},children:e=>{let t=e.values,r=e.handleSubmit,n=e.isSubmitting;const i=s?(0,mp.A)(t.bulkUrls):[],o=i.length,c=o>200,d=i.map(e=>e.url).filter(e=>(0,xt.hy)(e)),u=d.length>0,m=s&&o>0&&!c&&!u;return(0,W.jsx)(j.U5,{title:l?"Edit Uptime Monitor":"Add Uptime Check",boxHeading:!0,children:(0,W.jsxs)("form",{className:"wide-form",onSubmit:r,children:[s?(0,W.jsxs)("div",{children:[(0,W.jsxs)("label",{className:"field-label mt-0",children:["URLs: one URL per line (up to ",200,")"]}
1),(0,W.jsx)(U.D0,{as:"textarea",name:"bulkUrls",className:"form-control",style:{width:"100%",height:180,fontFamily:"monospace"},placeholder:"web.dev\nhttps://example.com  Example Homepage","data-testid":"bulk-uptime-urls"}),(0,W.jsxs)("div",{className:"scale-small-1 mt-1",children:[(0,W.jsxs)("span",{className:c?"color-ratingColorFail":"color-coldGrey1",children:[o," URL",1===o?"":"s",c?` — remove ${o-200} to continue`:""]}),u&&(0,W.jsxs)("div",{className:"color-ratingColorFail",children:[d.length," invalid:"," ",d.slice(0,3).join(", "),d.length>3?"…":""]})]})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(yt.u,{label:"URL",labelMarginTop:0,name:"url",value:t.url,placeholder:"example.com",defaultValue:"",autoFocus:!0,showValidationMessage:!0,"data-testid":"uptime-check-url",validate:(0,xt.Vq)([(0,xt.hF)("URL"),xt.hy])}),(0,W.jsx)("div",{className:"mt-3",children:(0,W.jsx)(yt.u,{label:"Title",labelMarginTop:0,name:"name",value:t.name,defaultValue:(0,up.x)(t.url),"data-testid":"uptime-check-name"})})]}),(0,W.jsx)("label",{className:"field-label mt-3",children:"Check Frequency"}),(0,W.jsx)(Jc.u,{name:"runEveryNSeconds",children:hp.map(e=>(0,W.jsx)(Jc.F,{value:e.seconds,children:e.title},e.seconds))}),(0,W.jsx)("div",{className:"mt-4",children:(0,W.jsx)(dp.F,{title:"Validations","data-testid":"assertions-section",startExpanded:(p=S.assertions,!(JSON.stringify(p)===JSON.stringify(vp))),children:(0,W.jsxs)("div",{style:jp,children:[(0,W.jsx)("div",{className:"scale-small-1 color-coldGrey1",children:"The check failed if any one of these validations fails."}),(0,W.jsxs)(wp,{name:"assertions.responseCode",label:"Response code matches",testId:"assertion-response-code",children:[(0,W.jsx)(U.D0,{className:"small",name:"assertions.responseCode.value",placeholder:"2xx",style:{...yp,width:90},disabled:!t.assertions.responseCode.enabled}),(0,W.jsx)(Rs._,{className:"ml-3 my-0",name:"assertions.responseCode.followRedirects",title:"Follow Redirects",disabled:!t.assertions.responseCode.enabled,testName:"assertion-follow-redirects"})]}),(0,W.jsxs)(wp,{name:"assertions.responseTime",label:"Response time is below",testId:"assertion-response-time",children:[(0,W.jsx)(U.D0,{className:"small",type:"number",name:"assertions.responseTime.value",placeholder:"1000",style:{...yp,width:90},disabled:!t.assertions.responseTime.enabled}),(0,W.jsx)("span",{className:"color-coldGrey1",children:"ms"})]}),(0,W.jsx)(wp,{name:"assertions.responseContains",label:"Response contains",testId:"assertion-response-contains",children:(0,W.jsx)(U.D0,{className:"small",name:"assertions.responseContains.value",placeholder:"Text in the response",style:{...yp,width:200},disabled:!t.assertions.responseContains.enabled})}),(0,W.jsxs)(wp,{name:"assertions.responseHeader",label:"Response header",testId:"assertion-response-header",children:[(0,W.jsx)(U.D0,{className:"small",name:"assertions.responseHeader.name",placeholder:"Header name",style:{...yp,width:150},disabled:!t.assertions.responseHeader.enabled}),(0,W.jsx)("span",{className:"color-coldGrey1",children:"contains"}),(0,W.jsx)(U.D0,{className:"small",name:"assertions.responseHeader.value",placeholder:"Value",style:{...yp,width:150},disabled:!t.assertions.responseHeader.enabled})]})]})})}),(0,W.jsx)("div",{className:"mt-3",children:(0,W.jsx)(dp.F,{title:"Alerting","data-testid":"alerting-section",startExpanded:1!==S.alertAfterFailures,children:(0,W.jsxs)("div",{style:jp,children:[(0,W.jsx)("div",{className:"scale-small-1 color-coldGrey1 mb-2",children:"Notify your uptime alert channels when this monitor goes down (and again when it recovers)."}),(0,W.jsx)(Jc.u,{name:"alertAfterFailures",children:fp.map(e=>(0,W.jsx)(Jc.F,{value:e.value,children:e.title},e.value))}),(0,W.jsx)("div",{className:"mt-3",children:(0,W.jsx)(Rs._,{className:"my-0",variant:"checkbox",name:"confirmOutagesWithSecondRegion",title:"Confirm outages by checking again from a second region",testName:"confirm-outages-second-region"})})]})})}),s&&b&&(0,W.jsxs)("div",{className:"mt-3","data-testid":"bulk-uptime-results",children:[(0,W.jsxs)("div",{className:"mb-1",children:["Added ",b.filter(e=>!e.error).length," of"," ",b.length," monitors."]}),b.filter(e=>e.error).map((e,t)=>(0,W.jsxs)("div",{className:"scale-small-1 color-ratingColorFail",children:[e.url||"(blank)",": ",e.error]},`${e.url}-${t}`))]}),(0,W.jsx)(v.J,{isSubmitting:n,title:l?"Save":s?o>0?`Add ${o} Monitor${1===o?"":"s"}`:"Add Monitors":"Add Check",disabled:s&&!m,goBack:a,"data-testid":"submit-uptime-check"})]})});var p}});return l?(0,W.jsxs)(W.Fragment,{children:[k,(0,W.jsxs)(j.U5,{title:"Delete Monitor",boxHeading:!0,children:[(0,W.jsx)("div",{className:"color-coldGrey1 mb
1-2",children:"Permanently stop and remove this uptime monitor."}),d?(0,W.jsx)(kt.v,{color:"currentColor"}):(0,W.jsx)("button",{type:"button",className:"btn btn-danger btn-sm","data-testid":"delete-uptime-monitor",onClick:()=>{confirm("Delete this uptime monitor?")&&(m(!0),u.FH.deleteUptimeMonitor(r).then(a).catch(e=>{console.error("Failed to delete uptime monitor",e),m(!1)}))},children:"Delete Monitor"})]})]}):k}function _p(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function kp(e){let t=e.projectId;const r=(a=(0,V.t)("mode","single"),l=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(a,l)||function(e,t){if(e){if("string"==typeof e)return _p(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_p(e,t):void 0}}(a,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),n=r[0],i=r[1],o=location.pathname;var a,l;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{className:"scale-base mb-2",children:(0,W.jsx)(Sd.E,{options:[{value:"single",title:"Add Monitor"},{value:"bulk",title:"Bulk Add"}].map(e=>({title:e.title,href:"single"===e.value?o:`${o}?mode=${e.value}`,selected:n===e.value,testId:`uptime-add-${e.value}`,onClick:t=>{t.preventDefault(),i(e.value)}}))})}),(0,W.jsx)(Sp,{projectId:t,mode:n})]})}function Cp(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ap(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ap(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ap(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Np={up:{title:"Up",bgColor:"ratingColorPass"},down:{title:"Down",bgColor:"ratingColorFail"}},Ip={up:"var(--ratingColorPass)",down:"var(--ratingColorFail)"},Tp={up:.16,down:.26};function Dp(e,t){const r=new Date(e.replace(" ","T")+"Z"),n=new Date(r.getTime()+1e3*t),i={month:"short",day:"numeric",hour:"numeric",minute:"2-digit"};return`${r.toLocaleString(void 0,i)} – ${n.toLocaleString(void 0,i)}`}function Pp(e,t){const r=e.total>0?e.upCount/e.total*100:0;return(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{children:[e.upCount,"/",e.total," checks passing · ",r.toFixed(0),"% uptime"]}),(0,W.jsx)("div",{className:"scale-small-1 color-coldGrey2",children:Dp(e.date,t)}),null!=e.responseTimeMs&&(0,W.jsxs)("div",{className:"scale-small-1 color-coldGrey2",children:[e.responseTimeMs," ms avg response"]})]})}function Fp(e){let t=e.history,r=e.bucketSeconds,n=e.width;const i=void 0===n?150:n,o=i/t.length,a=t.map(e=>e.responseTimeMs).filter(e=>null!=e),l=a.length?Math.max(...a):1,s=[];let c=[];return t.forEach((e,t)=>{if(null==e.responseTimeMs)return c.length>1&&s.push(c.join(" ")),void(c=[]);var r;c.push(`${0===c.length?"M":"L"}${(e=>(e+.5)*o)(t).toFixed(1)},${(r=e.responseTimeMs,27-r/l*24).toFixed(1)}`)}),c.length>1&&s.push(c.join(" ")),(0,W.jsxs)("svg",{width:i,height:30,viewB
1ox:`0 0 ${i} 30`,"data-testid":"uptime-chart",style:{display:"inline-block",verticalAlign:"middle",borderRadius:3,overflow:"hidden"},children:[t.map((e,t)=>(0,W.jsx)(S.m,{overlay:Pp(e,r),children:(0,W.jsx)("rect",{"data-uptime-point-status":e.status,x:t*o,y:0,width:o+.5,height:30,fill:Ip[e.status],fillOpacity:Tp[e.status]})},t)),s.map((e,t)=>(0,W.jsx)("path",{d:e,fill:"none",stroke:"var(--blue1)",strokeWidth:1.5,strokeLinejoin:"round",strokeLinecap:"round",style:{pointerEvents:"none"}},t))]})}const Mp=(0,W.jsx)("span",{className:"color-coldGrey1",children:"—"});function Op(e){let t=e.projectId;const r=(0,$.Zp)(),n=function(){const e=Cp((0,B.useState)(150),2),t=e[0],r=e[1];return(0,B.useEffect)(()=>{const e=()=>r(window.innerWidth>1400?250:150);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),t}(),i=Cp((0,$.ok)(),1)[0],o=i.get("interval")||"7d",a=Cp((0,B.useState)(null),2),l=a[0],s=a[1],c=Cp((0,B.useState)(!1),2),d=c[0],p=c[1];if((0,B.useEffect)(()=>{const e=Ye(o),r=e.from,n=e.to;let i=!1;return p(!1),u.FH.getUptimeMonitors(t,r,n).then(e=>{i||s(e)}).catch(()=>{i||p(!0)}),()=>{i=!0}},[t,o]),d)return(0,W.jsx)("div",{className:"p-5 text-center color-coldGrey1",children:"Failed to load uptime monitors. Please try again."});if(null==l)return(0,W.jsx)("div",{className:"p-5 d-flex justify-content-center",children:(0,W.jsx)(w.y,{})});if(0===l.length)return(0,W.jsx)(Lp,{projectId:t});const g=l.filter(e=>"down"===e.latestStatus).length;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(j.U5,{title:"Uptime Monitoring",boxHeading:!0,padded:!1,contentAfterTitle:l.length>0?(0,W.jsx)(m.E,{className:"ml-2",small:!0,bgColor:g>0?"ratingColorFail":"ratingColorPass",children:g>0?`${g} down`:"All systems up"}):null,children:(0,W.jsx)(h.mY,{items:l,getItemKey:e=>e.id.toString(),noMatchingItemsMessage:"No uptime monitors set up yet.",borderBottomForLastRow:!0,getRowProps:e=>({onClickCapture:()=>r({pathname:`${A.DS.projectUrl(t,"uptime")}/${e.id}`,search:i.toString()}),style:{cursor:"pointer"},"data-testid":`uptime-monitor-row-${e.id}`}),columns:{name:{heading:{title:"Monitor"},render:e=>(0,W.jsxs)("div",{style:{minWidth:0},children:[(0,W.jsx)("div",{className:"nowrap-ellipsis",children:e.name}),(0,W.jsx)("div",{className:"nowrap-ellipsis scale-small-1 color-coldGrey1",children:e.url})]})},status:{heading:{title:"Status",style:{width:"90px"},alignRight:!0},render:e=>{if(!e.latestStatus)return Mp;const t=Np[e.latestStatus],r=t.title,n=t.bgColor;return(0,W.jsx)(m.E,{bgColor:n,"data-uptime-status":e.latestStatus,children:r})}},responseTime:{heading:{title:"Response Time",style:{width:"120px"},alignRight:!0},render:e=>null==e.latestResponseTime?Mp:`${e.latestResponseTime} ms`},uptime:{heading:{title:"Uptime",style:{width:"100px"},alignRight:!0},render:e=>null==e.uptimePercent?Mp:`${e.uptimePercent.toFixed(2)}%`},chart:{heading:{title:"Chart",style:{width:`${n+20}px`},alignRight:!0,infoText:"Response time over the selected range, oldest on the left. The band behind it is green when the check passed and red when it failed."},render:e=>0===e.chartPoints.length?Mp:(0,W.jsx)(Fp,{history:e.chartPoints,width:n,bucketSeconds:e.bucketSeconds})}}})}),(0,W.jsxs)("div",{className:"mt-3 d-flex align-items-center justify-content-between",children:[(0,W.jsxs)($.N_,{to:`${A.DS.projectUrl(t,"uptime")}/new`,className:"btn btn-primary d-inline-flex align-items-center","data-testid":"add-uptime-check",children:[(0,W.jsx)(y.c,{strokeWidth:1.7}),(0,W.jsx)("span",{className:"ml-2",children:"Add Uptime Monitor"})]}),(0,W.jsx)(f.w,{children:(0,W.jsx)("a",{href:`/localOnly/populateSampleUptimeData?projectId=${t}`,className:"btn btn-link scale-small-1",children:"Populate sample data"})})]})]})}function Lp(e){let t=e.projectId;const r=(0,$.Zp)();return(0,W.jsx)(j.U5,{padded:!1,className:"mt-3",children:(0,W.jsx)($c.RO,{badge:"Uptime Monitoring",title:"Check Website Uptime",description:"Run frequent checks on your website to detect outages quickly.",features:["Run checks every minute","Get notified of downtime","Verify status codes, page content, and more"],image:"https://www.debugbear.com/dimg/de4386266199306faabd3a37781a65d7.png",Actions:()=>(0,W.jsx)($c.F0,{onClick:()=>r(`${A.DS.projectUrl(t,"uptime")}/new`),disabled:!1,"data-testid":"add-uptime-check",children:"Add Your First Monitor"})})})}var Ep=r(32284),Rp=r(28845);function Up(e){return e?{zooming:{type:"x"},events:{selection:t=>{var r;const n=null===(r=t.xAxis)||void 0===r?void 0:r[0];return n&&e({from:new Date(n.min),to:new Date(n.max)}),!1}}}:{}}function Bp(e,t){return null!=e&&null!=t&&t-e<1728e5}function $p(e){return new Date(e.replace(" ","T")+"Z").getTime()}function Vp(e,t){return(0,N.Gq)(e)+" – "+(0,N.Gq)(t)}function Hp(e){let t=e.chartPoints,r=e.bucketSeconds,n=e.xMin,i=e.xMax,o=e.padMin,a=e.padMax,l=e.onSelection,s=e.maxResponseTime;const c=(0,B.useMemo)(()=>{const e=1e3*r,c=t.map(t=>{const r=$p(t.date),n=t.total>0?Math.round(t.upCount/t.total*100):0;return{x:r,y:t.responseTimeMs,custom:{upCount:t.upCount,total:t.total,uptime:n,range:Vp(r,r+e)}}});null!=o&&c.unshift({x:o,y:null}),null!=a&&c.push({x:a,y:null});const d=[];for(const r of t){const t=$p(r.date),n=t+e,i="down"===r.status?"rgba(202, 71, 47, 0.20)":"rgba(130, 222, 155, 0.22)",o=d[d.length-1];o&&o.color===i&&o.to===t?o.to=n:d.push({from:t,to:n,color:i})}return{chart:{type:"areaspline",height:360,spacingTop:15,animation:!1,backgroundColor:"transparent",plotBackgroun
1dColor:"rgba(140, 140, 140, 0.05)",...Up(l)},title:{text:void 0},credits:{enabled:!1},legend:{enabled:!1},colors:["#2280ca"],xAxis:(0,Ca.p)("date",!1,"",{plotBands:d,min:n,max:i,startOnTick:!1,endOnTick:!1,showHours:Bp(n,i)}),yAxis:(0,Ca.p)("ms",!1,void 0,{min:0,softMax:null!=s?s:void 0,plotLines:null==s?[]:[{value:s,color:"var(--ratingColorFail)",dashStyle:"Dash",width:1,zIndex:3,label:{text:`Fails above ${s} ms`,align:"right",x:-4,y:-4,style:{fontSize:"10px",color:"var(--coldGrey1)"}}}]}),tooltip:{useHTML:!0,formatter:function(){const e=this.point.custom;return!(!e||null==this.y)&&`<div><b>${e.upCount}/${e.total} checks passing</b> · ${e.uptime}% uptime</div><div class="scale-small-1 color-coldGrey1">${e.range}</div><div class="scale-small-1">${this.y} ms median response</div>`}},plotOptions:{areaspline:{lineWidth:2,fillOpacity:.15,marker:{enabled:1===t.length,radius:3},connectNulls:!1},series:{animation:!1}},series:[{type:"areaspline",name:"Response time",data:c}]}},[t,r,n,i,o,a,l,s]);return 0===t.length?(0,W.jsx)("span",{className:"color-coldGrey1",children:"No checks in this range"}):(0,W.jsx)("div",{"data-testid":"uptime-detail-chart",children:(0,W.jsx)(Na.F,{highcharts:Ta,options:c})})}const Wp=[{key:"dns",label:"DNS",color:"#0b84a5"},{key:"tcp",label:"TCP",color:"#8dddd1"},{key:"ssl",label:"SSL",color:"#8e6fd8"},{key:"req",label:"Request",color:"#f6c85e"},{key:"download",label:"Download",color:"#9cd865"}];function Gp(e){let t=e.timingSeries,r=e.xMin,n=e.xMax,i=e.padMin,o=e.padMax,a=e.onSelection;const l=(0,B.useMemo)(()=>{const e=Wp.filter(e=>t.some(t=>t[e.key]>0));return{chart:{type:"areaspline",height:360,spacingTop:15,animation:!1,backgroundColor:"transparent",...Up(a)},title:{text:void 0},credits:{enabled:!1},colors:e.map(e=>e.color),legend:{enabled:!0},xAxis:(0,Ca.p)("date",!1,"",{min:r,max:n,startOnTick:!1,endOnTick:!1,showHours:Bp(r,n)}),yAxis:(0,Ca.p)("ms",!1,void 0,{min:0,reversedStacks:!1}),tooltip:{shared:!0,useHTML:!0,formatter:function(){var e;const t=(null!==(e=this.points)&&void 0!==e?e:[]).filter(e=>null!=e.y);if(0===t.length)return!1;const r=(0,N.Gq)(this.x),n=t.reduce((e,t)=>e+t.y,0);return`<div class="scale-small-1 color-coldGrey1">${r}</div>`+t.map(e=>`<div><span style="color:${e.color}">●</span> ${e.series.name}: ${e.y} ms</div>`).join("")+`<div class="scale-small-1"><b>Total: ${n} ms</b></div>`}},plotOptions:{areaspline:{stacking:"normal",lineWidth:2,fillOpacity:.15,marker:{enabled:1===t.length,radius:3}},series:{animation:!1}},series:e.map(e=>({type:"areaspline",name:e.label,data:[...null!=i?[[i,null]]:[],...t.map(t=>{return[(r=t.date,new Date(r.replace(" ","T")+"Z").getTime()),t[e.key]];var r}),...null!=o?[[o,null]]:[]]}))}},[t,r,n,i,o,a]);return 0===t.length?(0,W.jsx)("span",{className:"color-coldGrey1",children:"Not enough data for a breakdown"}):(0,W.jsx)("div",{"data-testid":"uptime-timing-chart",children:(0,W.jsx)(Na.F,{highcharts:Ta,options:l})})}function zp(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return qp(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?qp(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qp(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Xp(){return(0,W.jsx)("div",{className:"d-flex align-items-center justify-content-center",style:{height:360},children:(0,W.jsx)(kt.v,{})})}function Kp(e){return new Date(e.replace(" ","T")+"Z")}function Yp(e){switch(e.failureReason){case"timeout":return"Timeout";case"requestFailed":return"Request failed";case"responseTooSlow":return"Too slow";case"bodyMismatch":return"Content mismatch";case"headerMismatch":return"Header mismatch";case"statusMismatch":return null!=e.statusCode?`HTTP ${e.statusCode}`:"Wrong status";default:return null!=e.statusCode?`HTTP ${e.statusCode}`:"Failed"}}function Jp(e){switch(e.failureReason){case"timeout":return"The server didn't respond within the request timeout.";case"requestFailed":return"The request couldn't be completed. A DNS, connection, or TLS/SSL error meant no response was received.";case"responseTooSlow":return"The server responded, but slower than the maximum response time you set.";case"bodyMismatch":return"The response was returned, but its body didn't contain the expected text.";case"headerMismatch":return"The response was returned, but a response header didn't match the expected value.";case"statusMismatch":return null!=e.statusCode?`The server returned HTTP ${e.statusCode}, which didn't match the expected status code.`:"The server returned a status code that didn't match the expected value.";default:return"The check failed."}}function Qp(e,t){const r=e/60,n=e%60==0?`Runs every ${r} minute${1===r?"":"s"}`:`Runs every ${e} seconds`;return(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{children:n}),t&&(0,W.jsxs)("div",{children:["Next run at: ",(0,at.A)(new Date(t),"HH:mm")]})]})}function Zp(e){let t=e.projectId,r=e.monitorId;const n=zp((0,$.ok)(),1)[0],i=(0,Sl.J)(),o=n.get("interval")||"7d",a=zp((0,B.useState)(null),2),l=a[0],s=a[1],c=zp((0,B.useState)(!0),2),d=c[0],p=c[1],g=zp((0,B.useState)(!1),2),v=g[0],b=g[1],x=zp((0,B.useState)(!1),2),y=x[0],_=x[1],k=zp((0,B.useState)(!1),2),C=k[0],N=k[1],I=zp((0,B.useState)(0),2),T=I[0],D=I[1],P=(0,$.Zp)();(0,B.useEffect)(()=>{s(null)},[r]),(0,B.useEffect)(()=>{p(!0),b(!1);const e=Ye(o),t=e.from,n=e.to;let i=!1;return u.FH.getUptimeMonitorDetail(r,t,n).then(e=>{i||(s(e),p(!1))}).catch(()=>{i||(p(!1),b(!0))}),()=>{i=!0}},[r,o,T]);const F=(0,B.useCallback)(()=>{_(!0),u.FH.checkUptimeMonitorNow(r).then(()=>D(e=>e+1)).finally(()=>_(!1))},[r]),M=(0,B.useCallback)(()=>{N(!0),u.FH.simulateUptimeMonitorFailure(r).then(()=>D(e=>e+1)).finally(()=>N(!1))},[r]),O=A.DS.projectUrl(t,"uptime");if(v&&null==l)return(0,W.jsx)("div",{className:"p-5 text-center color-coldGrey1",children:"Failed to load this monitor. Please try again."});if(null==l)return(0,W.jsx)("div",{className:"p-5 d-flex justify-content-center",children:(0,W.jsx)(w.y,{})});const L=l.monitor,E=l.chart;if(Number(L.projectId)!==Number(t)){const e=A.DS.projectUrl(L.projectId,"uptime")+`/${r}`+(n.toString()?`?${n.toString()}`:"");return(0,W.jsx)($.C5,{to:e,replace:!0})}const R=L.latestStatus?Np[L.latestStatus]:null,U="down"===L.latestStatus?function(e){let t=e.statusCode,r=e.responseTime,n=e.validateResponseStatus,i=e.validateMaxResponseTime;switch(e.failureReason){case"statusMismatch":{const e=n?`, but this check expects ${n}`:"";return null==t?`The response had an unexpected status code${e}.`:`The response returned status code ${t}${e}.`}case"responseTooSlow":return null==r||null==i?"The response took longer than this check allows.":`The response took ${r} ms, which is `+(r-i)+" ms over the "+`${i} ms this check allows.`;case"timeout":return"The request timed out before the server responded.";case"requestFailed":return"The request never reached the server - a DNS, connection or TLS error.";case"bodyMismatch":return"The response loaded, but its content didn't match what this check looks for.";case"headerMismatch":return"The response loaded, but its headers didn't match what this check looks for.";default:return null}}({failureReason:L.latestFailureReason,statusCode:L.latestStatusCode,responseTime:L.latestResponseTime,validateResponseStatus:L.validateResponseStatus,validateMaxResponseTime:L.validateMaxResponseTime}):null,V=function(e){const t=new Date(e.from).getTime(),r=new Date(e.to).getTime(),n=36e5;return{min:t,max:r,padMin:Math.floor(t/n)*n,padMax:Math.ceil(r/n)*n}}(E),H=i;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(j.U5,{title:L.name,boxHeading:!0,titleChildren:(0,W.jsxs)("div",{className:"d-inline-flex align-items-center gap-xsm",children:[(0,W.jsxs)(dr.$,{size:"s",theme:"custom",className:"btn-outline-secondary gap-xsm","data-testid":"check-uptime-monitor-now",onClick:F,disabled:y,children:[y?(0,W.jsx)(kt.v,{color:"currentColor",size:13}):(0,W.jsx)(Ep.u,{size:13}),"Check Status Now"]}),(0,W.jsxs)(dr.$,{size:"s",theme:"custom",className:"btn-outline-secondary gap-xsm","data-testid":"reload-uptime-monitor",onClick:()=>D(e=>e+1),disabled:d,title:"Refresh this monitor's data",children:[d?(0,W.jsx)(kt.v,{color:"currentColor",size:13}):(0,W.jsx)(Rp.j,{size:13}),"Reload"]}),(0,W.jsx)(dr.$,{size:"s",theme:"custom",className:"btn-outline-secondary",icon:"edit",iconProps:{size:13},role:"link",onClick:()=>P(`${O}/${r}/edit`),"data-testid":"edit-uptime-monitor",children:"Edit"}),(0,W.jsx)(f.w,{children:(0,W.jsxs)(dr.$,{size:"s",theme:"custom",className:"btn-outline-danger gap-xsm","data-testid":"simulate-uptime-failure",onClick:M,disabled:C,title:"Record a forced failing check to test alerting",children:[C?(0,W.jsx)(kt.v,{color:"currentColor"}):null,"Simulate Failure"]})})]}),children:[(0,W.jsx)("div",{className:"nowrap-ellipsis color-coldGrey1 mb
1-3",children:L.url}),(0,W.jsxs)("div",{className:"d-flex align-items-center",style:{gap:32},children:[(0,W.jsx)(eg,{label:"Status",children:R?(0,W.jsx)(m.E,{className:"ml-0",bgColor:R.bgColor,"data-uptime-status":L.latestStatus,children:R.title}):(0,W.jsx)("span",{className:"color-coldGrey1",children:"—"})}),(0,W.jsx)(eg,{label:"Uptime",children:null==L.uptimePercent?"—":`${L.uptimePercent.toFixed(2)}%`}),(0,W.jsx)(eg,{label:"Response Time",children:null==L.latestResponseTime?"—":`${L.latestResponseTime} ms`}),(0,W.jsx)(eg,{label:"HTTP Status",children:null==L.latestStatusCode?"—":L.latestStatusCode}),(0,W.jsx)(eg,{label:"Last Check",children:null==L.latestCheckAt?"—":(0,W.jsx)(S.m,{overlay:Qp(L.runEveryNSeconds,L.nextCheckAt),children:(0,W.jsx)("span",{style:{cursor:"default"},children:(0,at.A)(new Date(L.latestCheckAt),"HH:mm")})})})]}),U&&(0,W.jsx)("div",{className:"mt-3 scale-small-1 color-grey2","data-testid":"uptime-failure-explanation",children:U})]}),(0,W.jsx)(j.U5,{title:"Uptime & Response Time",boxHeading:!0,children:d?(0,W.jsx)(Xp,{}):0===E.points.length?(0,W.jsx)("span",{className:"color-coldGrey1",children:"No checks in this range"}):(0,W.jsx)(Hp,{chartPoints:E.points,bucketSeconds:E.bucketSeconds,maxResponseTime:L.validateMaxResponseTime,xMin:V.min,xMax:V.max,padMin:V.padMin,padMax:V.padMax,onSelection:H})}),(0,W.jsx)(j.U5,{title:"Response Time Breakdown",boxHeading:!0,children:d?(0,W.jsx)(Xp,{}):(0,W.jsx)(Gp,{timingSeries:E.timingSeries,xMin:V.min,xMax:V.max,padMin:V.padMin,padMax:V.padMax,onSelection:H})}),(0,W.jsx)(j.U5,{title:"Recent Incidents",boxHeading:!0,padded:!1,children:(0,W.jsx)(h.mY,{items:l.incidents,getItemKey:e=>e.startedAt,noMatchingItemsMessage:"No incidents in this range.",borderBottomForLastRow:!0,columns:{started:{heading:{title:"Started"},render:e=>Kp(e.startedAt).toLocaleString(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})},cause:{heading:{title:"Cause",style:{width:"140px"}},render:e=>(0,W.jsx)(m.E,{bgColor:"ratingColorFail",tooltip:Jp(e),children:Yp(e)})},duration:{heading:{title:"Duration",style:{width:"120px"},alignRight:!0},render:e=>function(e){const t=Kp(e.endedAt).getTime()-Kp(e.startedAt).getTime(),r=Math.round(t/6e4);return r<1?"<1 min":r<60?`${r} min`:`${Math.round(r/60)} hr`}(e)},checks:{heading:{title:"Failed Checks",style:{width:"120px"},alignRight:!0},render:e=>e.checkCount.toString()}}})})]})}function eg(e){let t=e.label,r=e.children;return(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"field-label",style:{marginTop:0},children:t}),(0,W.jsx)("div",{style:{marginTop:4},"data-testid":`uptime-stat-${t.toLowerCase().replace(/\s+/g,"-")}`,children:r})]})}var tg=r(91998),rg=r(76025),ng=r(49874),ig=r(81155),og=r(92874),ag=r(72814),lg=r(25475),sg=r(19768),cg=r(90380),dg=r(12930),ug={};ug.styleTagTransform=ve(),ug.setAttributes=pe(),ug.insert=ue().bind(null,"head"),ug.domAPI=ce(),ug.insertStyleElement=he(),le()(dg.A,ug),dg.A&&dg.A.locals&&dg.A.locals;const mg=["chartIcon","chartIconProps","style"];function pg(e){var t;let r=e.chartIcon,n=e.chartIconProps,i=void 0===n?{}:n,o=e.style,a=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,mg);return(0,W.jsx)("div",{className:"skeleton-chart",...a,style:{display:"flex",alignItems:"center",justifyContent:"center",...o},children:r?(0,W.jsx)(cg.K,{...i,style:{fill:"rgba(0, 0, 0, 0.1)",stroke:"rgba(0, 0, 0, 0.1)",...null!==(t=i.style)&&void 0!==t?t:{}}}):null})}function gg(){return(0,W.jsx)(j.U5,{padded:!1,children:(0,W.jsx)($c.RO,{badge:"CrUX Trends",title:"Track Google Core Web Vitals Data",description:"Monitor data from Google's Chrome User Experience Report (CrUX), which impacts your site's search rankings.",features:["Check your own website","Track competitor data","See historical trends"],image:"https://www.debugbear.com/dimg/626efff341815c2f76d50f160c4d55fa.png",Actions:()=>(0,W.jsx)("p",{className:"color-coldGrey1",children:'To view domains here, set up lab-based monitoring or click "Edit Domains".'})})})}var hg=r(37957);function fg(e){return!!e.error}function vg(e,t,r){var n;if(fg(e)||!e.record.metrics[t])return r===hg.T6.ASC?1/0:-1/0;const i=null===(n=e.record.metrics[t].percentilesTimeseries)||void 0===n||null===(n=n.p75s)||void 0===n?void 0:n.at(-1);return null==i?r===hg.T6.ASC?1/0:-1/0:Number(i)}function bg(e,t){return[r=>"domain"===e?r[0].replace(/.*?:\/\//,""):vg(r[1],e,t)]}function xg(e,t){return"domain"===e?e=>e[0].replace(/.*?:\/\//,""):[hg.oZ.GOOD,hg.oZ.OKAY,hg.oZ.BAD].map(r=>n=>function(e,t,r,n){var i;if(fg(e)||!e.record.metrics[t])return r===hg.T6.ASC?1/0:-1/0;
1if(rg.RQ.includes(t))return vg(e,t,r);const o=null===(i=e.record.metrics[t].histogramTimeseries)||void 0===i||null===(i=i[n])||void 0===i?void 0:i.densities;return o?Number(o.at(-1)):r===hg.T6.ASC?1/0:-1/0}(n[1],e,t,r))}const yg=(0,r(84263).A)("url");var jg=r(76300),wg=r(50462),Sg=r(65437);const _g=(0,wg.A)((0,Sg.A)("createdAt"),e=>e?new Date(e).getTime():Number.NaN),kg=(0,jg.A)((e,t)=>_g(t)-_g(e)),Cg=(0,r(97094).A)(0,25);function Ag(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Ng=rg.t1.reduce((e,t)=>({...e,[t]:{getValue:e=>Number(e.value),fields:[{id:`${sg.Mq[t]}.origin`,title:hg.I7[t],dataType:hg.Tf[t],stat:"p75",getValue:e=>Number(e.value)}]}}),{}),Ig=(0,B.memo)(function(e){let t=e.chartType,r=e.cruxData,n=e.columns,i=e.device,o=e.granularity,a=e.status,s=e.sortDirection,c=e.sortColumn,d=e.setSortDirection,u=e.setSortColumn,m=e.hideXAxis;const p=(0,B.useContext)(l.v).project,g=(0,B.useMemo)(()=>{if("loading"===a){var e,n;const t="origin"===o?null==p?void 0:p.cruxHistoryOrigins:null==p?void 0:p.cruxHistoryUrls,r="origin"===o?(i=null!==(e=null==p?void 0:p.pageLoads)&&void 0!==e?e:[],(0,N.d8)(Cg(yg(i)))):function(e){return Array.from(new Set(Cg(yg(e))))}(null!==(n=null==p?void 0:p.pageLoads)&&void 0!==n?n:[]);return(null!=t?t:r).map(e=>[e,"loading"])}var i;const l="p75"===t?bg:xg;return(0,T.orderBy)(Object.entries(r),l(c,s),s===hg.T6.ASC?"asc":"desc")},[o,a,t,r,c,s,null==p?void 0:p.cruxHistoryOrigins,null==p?void 0:p.cruxHistoryUrls,null==p?void 0:p.pageLoads]);(0,B.useEffect)(()=>{"domain"===c||n.includes(c)||(u("domain"),d(hg.T6.ASC))},[n,u,d,c]);const h=g.map((e,r)=>{let l=(u=2,function(e){if(Array.isArray(e))return e}(d=e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(d,u)||function(e,t){if(e){if("string"==typeof e)return Ag(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ag(e,t):void 0}}(d,u)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=l[0],c=l[1];var d,u;const p=fg(c),g=new URL(s).host;return(0,W.jsxs)("div",{className:Ti()("project-crux-history__item d-print-avoid-break",[`project-crux-history__item--${t}`]),"data-testid":"crux-history-row",children:[(0,W.jsxs)("div",{className:`d-flex ${0===r?"mt-2":"mt-4"} mb-3 align-items-center`,children:[(0,W.jsx)("img",{src:g?`/favicon/${g}`:"",alt:g+" logo",style:{width:20,height:20,marginRight:8,borderRadius:4,boxShadow:"0px 0px 3px #bbb"}}),(0,W.jsx)("h2",{className:"mb-0 mt-0",style:{lineHeight:"1em"},children:"loading"===a?"...":"origin"===o?g:s.replace(/^https?:\/\//,"")})]}),(0,W.jsx)("div",{className:"d-flex align-items-center project-crux-history__chart-columns",style:{width:"100%"},children:n.map(e=>{var r;return"loading"===c&&"summary"!==t?(0,W.jsx)("div",{className:"project-crux-history__histogram-chart-wrapper",style:{marginBottom:"4px"},children:(0,W.jsxs)(j.U5,{padded:!1,noMargin:!0,children:[(0,W.jsx)(lg.d,{status:a,values:void 0,metricId:"p75"===t?hg.Gn[e]:hg.e$[e],title:hg.I7[e],device:i}),(0,W.jsx)(pg,{style:{height:104,background:"transparent"},chartIcon:!0,chartIconProps:{fill:"#ebebeb",height:50}})]})},s+e):"summary"===t?(0,W.jsx)(Tg,{metric:e,data:null===(r=c.record)||void 0===r?void 0:r.metrics[e],device:i,isErrorResponse:p},s+e):"p75"===t?(0,W.jsx)(Dg,{isErrorResponse:p,metric:e,device:i,cruxData:c,hideXAxis:m},s+e):(0,W.jsx)(Pg,{isErrorResponse:p,metric:e,device:i,cruxData:c,hideXAxis:m},s+e)})})]},s)});return(0,W.jsxs)(W.Fragment,{children:[0===g.length&&(0,W.jsx)(gg,{}),g.length>0&&h]})},(e,t)=>e.chartType===t.chartType&&e.cruxData===t.cruxData&&e.columns===t.columns&&e.status===t.status&&e.sortColumn===t.sortColumn&&e.sortDirection===t.sortDirection&&e.hideXAxis===t.hideXAxis&&e.device===t.device&&e.granularity===t.granularity);function Tg(e){var t,r,n;let i=e.metric,o=e.data,a=e.device,l=e.isErrorResponse;const s=hg.Tf[i],c=hg.Gn[i],d=(0,T.last)((null==o?void 0:o.percentilesTimeseries.p75s)||[]),u=(0,rg.YH)(i,d),m=null==o||null===(t=o.histogramTimeseries)||void 0===t||null===(t=t[0])||void 0===t||null===(t=t.densities)||void 0===t?void 0:t.at(-1),p=null==o||null===(r=o.histogramTimeseries)||void 0===r||null===(r=r[1])||void 0===r||null===(r=r.densities)||void 0===r?void 0:r.at(-1),g=null==o||null===(n=o.histogramTimeseries)||void 0===n||null===(n=n[2])||void 0===n||null===(n=n.densities)||void 0===n?void 0:n.at(-1),h=(0,k.Hh)(c),f=null==h?void 0:h.getRating(u,a);return(0,W.jsx)("div",{className:"project-crux-history__histogram-chart-wrapper",children:"number"==typeof u?(0,W.jsx)(ng.b,{value:u,isComparison:!1,dataType:s,rating:f,title:hg.np[i],moreInfoContent:null==h?void 0:h.tooltipContent,moreInfoHref:null==h?void 0:h.tooltipHref,noMargin:!0,smallValue:!0,children:[m,p,g].every(e=>"number"==typeof e)?(0,W.jsx)(bu.bJ,{percentages:[100*m,100*p,100*g],title:hg.np[i]}):(0,W.jsx)("div",{style:{minHeight:8}})}):(0,W.jsx)(j.U5,{padded:!1,noMargin:!0,children:(0,W.jsx)(ig.G,{isErrorResponse:l,metric:i})})})}function Dg(e){var t;let r=e.metric,n=e.isErrorResponse,i=e.device,o=e.cruxData,a=e.hideXAxis;return(0,W.jsx)("div",{className:"project-crux-history__p75-chart-wrapper",children:(0,W.jsxs)(j.U5,{padded:!1,noMargin:!0,children:[(0,W.jsx)("div",{style:{display:"flex"},children:(0,W.jsx)(lg.d,{values:n||null===(t=o.record)||void 0===t||null===(t=t.metrics[r])||void 0===t||null===(t=t.percentilesTimeseries)||void 0===t||null===(t=t.p75s)||void 0===t?void 0:t.map(e=>(0,rg.YH)(r,e)),metricId:hg.Gn[r],title:hg.I7[r],device:i,status})}),(0,W.jsx)(ag.B,{history:n?void 0:o,isErrorResponse:n,metric:r,chart:Ng[r],height:120,hideXAxis:a})]})},origin+r)}function Pg(e){var t;let r=e.metric,n=e.isErrorResponse,i=e.device,o=e.cruxData,a=e.hideXAxis;return(0,W.jsx)("div",{className:Ti()("project-crux-history__histogram-chart-wrapper"),style:{width:"100%"},children:(0,W.jsxs)(j.U5,{padded:!1,noMargin:!0,children:[(0,W.jsx)(lg.d,{values:n||null===(t=o.record.metrics[r])||void 0===t||null===(t=t.histogramTimeseries)||void 0===t||null===(t=t[0])||void 0===t?void 0:t.densities,metricId:hg.e$[r],title:hg.I7[r],device:i,status}),(0,W.jsx)(og.h,{height:120,metric:r,history:n?void 0:o,isErrorResponse:n,hideXAxis:a})]})},origin+r)}function Fg(e){let t=e.onClose;
1const r=new URL(window.location.href);return r.searchParams.set("printView","1"),(0,W.jsx)(Bl.O,{isOpen:!0,onClose:t,items:[{title:"CrUX History",detail:"A PDF of data from the current view.",formats:[{format:"pdf",url:r.href}]}]})}var Mg=r(17811),Og=r(62264),Lg=r(31831),Eg=r(5369);function Rg(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Ug(e){const t=e.lastDate;return new Date(t.year,t.month-1,t.day).toLocaleDateString("en-GB",{day:"numeric",month:"long",year:"numeric"})}function Bg(e,t){if(!e||0===e.length||t<2)return null;const r=e[e.length-1],n=new Date(r.lastDate.year,r.lastDate.month-1,r.lastDate.day),i=new Date(n.getTime()-24192e5);let o=0,a=1/0;for(let t=0;t<e.length;t++){const r=e[t].lastDate,n=new Date(r.year,r.month-1,r.day),l=Math.abs(n.getTime()-i.getTime());l<a&&(a=l,o=t)}return o<t-1?o:null}function $g(e){let t=e.currentValue,r=e.previousValue,n=e.currentFormatted,i=e.previousFormatted,o=e.changeFormatted,a=e.currentDate,l=e.previousDate,s=e.previousColor,c=e.currentColor;const d=t-r,u=(0!==r?Math.abs(d/r):0)<=.025,m=u?"#999":d>0?"#e01d10":"#018642";return(0,W.jsx)(S.m,{placement:"top",overlay:(0,W.jsx)("table",{style:{fontSize:16,borderCollapse:"collapse"},children:(0,W.jsxs)("tbody",{children:[(0,W.jsxs)("tr",{children:[(0,W.jsx)("td",{style:{paddingRight:12},children:l}),(0,W.jsx)("td",{style:{textAlign:"right",color:s},children:i})]}),(0,W.jsxs)("tr",{children:[(0,W.jsx)("td",{style:{paddingRight:12,paddingBottom:6,borderBottom:"1px solid #eee"},children:a}),(0,W.jsx)("td",{style:{textAlign:"right",color:c,paddingBottom:6,borderBottom:"1px solid #eee"},children:n})]}),(0,W.jsxs)("tr",{children:[(0,W.jsx)("td",{style:{paddingRight:12,paddingTop:6},children:"Change"}),(0,W.jsx)("td",{style:{textAlign:"right",paddingTop:6,color:u?void 0:m},children:o})]})]})}),children:(0,W.jsx)("span",{style:{cursor:"default",display:"inline-flex",alignItems:"center"},children:u?(0,W.jsx)("span",{style:{color:m,fontSize:14},children:"→"}):d>0?(0,W.jsx)(Og.e,{color:m,size:14}):(0,W.jsx)(Mg.n,{color:m,size:14})})})}function Vg(e){try{return new URL(e).host}catch{return e}}const Hg=rg.t1.reduce((e,t)=>({...e,[t]:{getValue:e=>Number(e.value),fields:[{id:`${sg.Mq[t]}.origin`,title:hg.I7[t],dataType:hg.Tf[t]}]}}),{}),Wg=e=>{let t=e.cruxData,r=e.columns,n=e.device,i=e.chartType,o=e.sortByColumn,a=e.onSortByChange,l=e.pageLoads,s=e.granularity,c=e.projectId;const d=(0,hu.a)(),u=d<1e3,m=(0,B.useMemo)(()=>Object.entries(t).filter(e=>"loading"!==e[1]).map(e=>{let t=(o=2,function(e){if(Array.isArray(e))return e}(i=e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(i,o)||function(e,t){if(e){if("string"==typeof e)return Rg(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Rg(e,t):void 0}}(i,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=t[0],n=t[1];var i,o;return{key:r,host:Vg(r),label:"url"===s?r.replace(/^https?:\/\//,""):Vg(r),record:n.record,cruxItem:n}}),[t,s]),p=o?o.replace(/^-/,""):null,g=null!=p&&"website"!==p,f=(0,B.useMemo)(()=>{if(!g||!o)return null;const e=o.startsWith("-"),t=e=>{var t,r;const n=null===(t=e.record)||void 0===t||null===(t=t.metrics)||void 0===t?void 0:t[p];if(!n)return null;var o,a;if("breakdown"===i)return null!==(o=null===(a=n.histogramTimeseries)||void 0===a||null===(a=a[0])||void 0===a||null===(a=a.densities)||void 0===a?void 0:a.at(-1))&&void 0!==o?o:null;const l=null===(r=n.percentilesTimeseries)||void 0===r||null===(r=r.p75s)||void 0===r?void 0:r.at(-1);return null==l?null:(0,rg.YH)(p,l)},r=[...m].sort((r,n)=>{const i=t(r),o=t(n);return null==i&&null==o?0:null==i?1:null==o?-1:e?o-i:i-o}),n=new Map;return r.forEach((e,t)=>n.set(e.key,t+1)),n},[m,o,p,g,i]),v=(0,B.useMemo)(()=>{const e={};g&&!u&&(e.rank={heading:{title:"#",style:{width:40}},render:e=>{const t=null==f?void 0:f.get(e.key);return(0,W.jsx)("span",{className:"text-muted",children:null!=t?t:""})}}),e.website={heading:{title:"Website",...d<800?{style:{width:Math.round(.35*d)}}:{}},render:e=>{const t=g&&u?null==f?void 0:f.get(e.key):null;return(0,W.jsxs)("div",{className:u?"d-flex flex-column align-items-start":"d-flex align-items-center",style:{minWidth:0,maxWidth:"100%"},children:[(0,W.jsxs)("div",{className:"d-flex align-items-center",style:{marginBottom:u?4:0},children:[(0,W.jsx)("img",{src:e.host?`/favicon/${e.host}`:"",alt:"","aria-hidden":"true",style:{width:20,height:20,borderRadius:2,marginRight:u?0:16},loading:"lazy"}),null!=t&&(0,W.jsxs)("span",{className:"text-muted scale-small-1 ml-2",children:["#",t]})]}),(0,W.jsx)("div",{className:"one-line",style:{maxWidth:"100%",fontSize:d<800?13:void 0},title:e.label,children:u?e.label.replace(/^www\./,""):e.label})]})},getSortByValue:e=>e.label};const t=d>1200&&r.length<=3?205:void 0;for(const o of r)e[o]={heading:{title:u?hg.I7[o]:hg.np[o],alignRight:!0,...t?{style:{width:t}}:{}},render:e=>{var t,r;return(0,W.jsx)(Xg,{metricData:null===(t=e.record)||void 0===t||null===(t=t.metrics)||void 0===t?void 0:t[o],metric:o,device:n,chartType:i,collectionPeriods:null===(r=e.record)||void 0===r?void 0:r.collectionPeriods,stacked:u})},getSortByValue:e=>{var t,r,n;const a=null===(t=e.record)||void 0===t||null===(t=t.metrics)||void 0===t?void 0:t[o];if(!a)return null;var l;if("breakdown"===i)return null===(l=a.histogramTimeseries)||void 0===l||null===(l=l[0])||void 0===l||null===(l=l.densities)||void 0===l?void 0:l.at(-1);const s=null===(r=a.percentilesTimeseries)||void 0===r||null===(r=r.p75s)||void 0===r?void 0:r.at(-1);return null!==(n=(0,rg.YH)(o,null!=s?s:null))&&void 0!==n?n:void 0}};return e},[r,n,i,f,g,u,d]);return(0,W.jsx)("div",{className:"crux-history-table",children:(0,W.jsx)(h.mY,{items:m,columns:v,getItemKey:e=>e.key,getRowProps:()=>({"data-testid":"crux-history-row"}),borderBottomForLastRow:!0,noDetailsPadding:!0,sortByColumn:o,onSortByChange:a,ItemDetailsRenderer:e=>{let t=e.item;return(0,W.jsx)(qg,{row:t,columns:r,device:n,pageLoads:l,granularity:s,projectId:c})}})})},Gg=[{key:"largest_contentful_paint_image_time_to_first_byte",title:"TTFB",color:Lg.V4.ttfb},{key:"largest_contentful_paint_image_resource_load_delay",title:"Load Delay",color:Lg.V4.resourceLoadDelay},{key:"largest_contentful_paint_image_resource_load_duration",title:"Load Duration",color:Lg.V4.resourceLoadTime},{key:"largest_contentful_paint_image_element_render_delay",title:"Render Delay",color:Lg.V4.renderDelay}],zg=[{key:"navigate",title:"Navigate",color:"#67b6b1"},{key:"navigate_cache",title:"Cached",color:"#677fb6"},{key:"reload",title:"Reload",color:"#cc96cb"},{key:"restore",title:"Restore",color:"#d39837"},{key:"back_forward",title:"Back / Forward",color:"#df8666"},{key:"back_forward_cache",title:"Back / Forward Cached",color:"#77
1add2"},{key:"prerender",title:"Prerender",color:"#a4d08c"}];function qg(e){var t;let r=e.row,n=e.columns,i=e.device,o=e.pageLoads,a=e.granularity,l=e.projectId;const s=fg(r.cruxItem),c=null===(t=r.record)||void 0===t?void 0:t.metrics,d=(0,hu.a)()<1e3,u=(0,B.useMemo)(()=>{if(s||!c)return null;const e=rg.Fd.map(e=>{var t,r;const n=null===(t=c[e])||void 0===t||null===(t=t.percentilesTimeseries)||void 0===t||null===(t=t.p75s)||void 0===t?void 0:t.at(-1);if(null==n)return null;const o=(0,rg.YH)(e,n);if(null===o)return null;const a=(0,k.Hh)(hg.Gn[e]);return{key:e,title:hg.I7[e],value:o,formatted:(0,N.Fl)(o,null==a?void 0:a.dataType),rating:null!==(r=null==a?void 0:a.getRating(o,i))&&void 0!==r?r:"unknown"}}).filter(e=>null!==e);return e.length>0?e:null},[s,c,i]),m=(0,B.useMemo)(()=>{if(s||!c)return null;const e=Gg.map(e=>{var t;return{...e,value:null===(t=c[e.key])||void 0===t||null===(t=t.percentilesTimeseries)||void 0===t||null===(t=t.p75s)||void 0===t?void 0:t.at(-1)}}).filter(e=>"number"==typeof e.value);if(0===e.length)return null;const t=e.reduce((e,t)=>e+t.value,0);return 0===t?null:{parts:e,total:t}},[s,c]),p=(0,B.useMemo)(()=>{if(s||!c)return null;const e=c.navigation_types;if(!e)return null;const t=e.fractionTimeseries;if(!t)return null;const r=zg.map(e=>{const r=t[e.key],n=Array.isArray(r)?r:null==r?void 0:r.fractions,i=null==n?void 0:n.at(-1);return{...e,value:"number"==typeof i?i:0}}).filter(e=>e.value>0);return r.length>0?r:null},[s,c]),g=(0,B.useMemo)(()=>m?m.parts.map(e=>({title:e.title,color:e.color,percentage:e.value/m.total*100,valueText:(0,N.MH)(e.value)})):null,[m]),h=(0,B.useMemo)(()=>p?p.map(e=>({title:e.title,color:e.color,percentage:100*e.value})):null,[p]),f=(0,B.useMemo)(()=>{if(!o||0===o.length)return null;const e=o.filter(e=>{try{const t=e.url;return"url"===a?t===r.key:new URL(t).origin===r.key}catch{return!1}});return e.length>0?e:null},[o,a,r.key]);return(0,W.jsxs)("div",{className:"p-3",style:{width:"100%"},children:[(0,W.jsxs)("h3",{className:"mt-0 mb-2 d-flex align-items-center gap-xxsm",style:{fontSize:14,fontWeight:600,marginTop:32},children:["Core Web Vitals",(0,W.jsx)(x.c,{content:"Core Web Vitals are a set of real-user metrics that measure loading performance, interactivity, and visual stability.",href:"/docs/metrics/core-web-vitals"})]}),(0,W.jsx)("div",{className:d?"d-flex flex-column":"d-flex",style:{gap:8},children:n.map(e=>{var t;return(0,W.jsx)("div",{style:{flex:1,minWidth:0,width:d?"100%":void 0},children:(0,W.jsxs)(j.U5,{padded:!1,noMargin:!0,children:[(0,W.jsx)("div",{style:{display:"flex"},children:(0,W.jsx)(lg.d,{values:s||null===(t=r.record)||void 0===t||null===(t=t.metrics[e])||void 0===t||null===(t=t.percentilesTimeseries)||void 0===t||null===(t=t.p75s)||void 0===t?void 0:t.map(t=>(0,rg.YH)(e,t)),metricId:hg.Gn[e],device:i,status:"loaded"})}),(0,W.jsx)(ag.B,{history:fg(r.cruxItem)?void 0:r.cruxItem,isErrorResponse:s,metric:e,chart:Hg[e],height:120,hideXAxis:!1})]})},e)})}),m&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("h3",{className:"mb-2 d-flex align-items-center gap-xxsm",style:{fontSize:14,fontWeight:600,marginTop:32},children:["LCP Subparts",(0,W.jsx)(x.c,{content:"LCP subparts break down the Largest Contentful Paint metric into four phases: TTFB, Load Delay, Load Duration, and Render Delay.",href:"/blog/lcp-subparts"})]}),(0,W.jsx)(vu.rl,{title:"LCP Subparts",components:g,showSomeTitles:!0,allowExpansion:!0,tooltipWidth:260,valueDisplay:"value",inUnpaddedContext:!0})]}),p&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("h3",{className:"mb-2 d-flex align-items-center gap-xxsm",style:{fontSize:14,fontWeight:600,marginTop:32},children:["Navigation Types",(0,W.jsx)(x.c,{content:"Navigation types show how users reach a page: direct navigation, back/forward, reload, or from cache.",href:"/blog/navigation-type"})]}),(0,W.jsx)(vu.rl,{title:"Navigation Types",components:h,inUnpaddedContext:!0,allowExpansion:!0,showSomeTitles:!0})]}),u&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("h3",{className:"mb-2 d-flex align-items-center gap-xxsm",style:{fontSize:14,fontWeight:600,marginTop:32},children:["Ad Insights",(0,W.jsx)(x.c,{content:"How many ads the page shows, how much of the viewport they take up, and what they cost in data and CPU time."})]}),(0,W.jsx)("div",{className:"d-flex flex-wrap",style:{gap:32},children:u.map(e=>(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"scale-small-2 color-coldGrey2",children:e.title}),(0,W.jsx)("div",{style:{fontSize:20,fontWeight:600,color:Eg.Y[e.rating]},children:e.formatted})]},e.key))})]}),f&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("h3",{className:"mb-2 d-flex align-items-center gap-x
1xsm",style:{fontSize:14,fontWeight:600,marginTop:32},children:["Lab Data",(0,W.jsx)(x.c,{content:"Lab data provides in-depth page speed analysis and recommendations.",href:"/synthetic-website-monitoring"})]}),(0,W.jsx)("ul",{style:{margin:0,paddingLeft:20},children:f.map(e=>{var t;const r=e,n=[null===(t=r.device)||void 0===t?void 0:t.name,(0,Bt.fZ)(r.region)].filter(Boolean).join(", ");return(0,W.jsxs)("li",{children:[(0,W.jsx)("a",{href:A.DS.pageLoadUrl(l,r.id),children:r.name||r.url}),n&&(0,W.jsxs)("span",{className:"text-muted",children:[" (",n,")"]})]},r.id)})})]})]})}function Xg(e){let t=e.metricData,r=e.metric,n=e.device,i=e.chartType,o=e.collectionPeriods,a=e.stacked;if(!t)return(0,W.jsx)("span",{style:{color:"#999"},children:"—"});if("summary"===i||"p75"===i){var l,s;const e=null===(l=t.percentilesTimeseries)||void 0===l?void 0:l.p75s,c=null==e?void 0:e.at(-1);if(null==c)return(0,W.jsx)("span",{style:{color:"#999"},children:"—"});const d=(0,rg.YH)(r,c),u=hg.Gn[r],m=(0,k.Hh)(u),p="summary"===i?null==m?void 0:m.getRating(d,n):void 0,g=(null==m?void 0:m.dataType)||"ms",h=(0,N.Fl)(d,g),f=Bg(o,null!==(s=null==e?void 0:e.length)&&void 0!==s?s:0),v=null!=f?(0,rg.YH)(r,e[f]):null,b=null!=v&&o&&(()=>{const e=d-v,t=e>0?"+":"",r=null==m?void 0:m.getRating(v,n),i=null==m?void 0:m.getRating(d,n);return(0,W.jsx)($g,{currentValue:d,previousValue:v,currentFormatted:h,previousFormatted:(0,N.Fl)(v,g),changeFormatted:`${t}${(0,N.Fl)(e,g)}`,currentDate:Ug(o[o.length-1]),previousDate:Ug(o[f]),previousColor:Eg.Y[r||"unknown"],currentColor:Eg.Y[i||"unknown"]})})();return(0,W.jsxs)("div",{className:a?"d-flex flex-column align-items-end":"d-flex align-items-center justify-content-end",style:{gap:a?2:6},children:[a?(0,W.jsx)("div",{className:"d-flex align-items-center justify-content-end",style:{height:20},children:b}):b,(0,W.jsx)("span",{style:{fontSize:a?16:18,fontWeight:500,minWidth:a?void 0:65,textAlign:"right",..."summary"===i?{color:Eg.Y[p||"unknown"]}:{}},children:h})]})}if("breakdown"===i){var c,d,u,m,p;const e=null===(c=t.histogramTimeseries)||void 0===c||null===(c=c[0])||void 0===c||null===(c=c.densities)||void 0===c?void 0:c.at(-1);if(![e,null===(d=t.histogramTimeseries)||void 0===d||null===(d=d[1])||void 0===d||null===(d=d.densities)||void 0===d?void 0:d.at(-1),null===(u=t.histogramTimeseries)||void 0===u||null===(u=u[2])||void 0===u||null===(u=u.densities)||void 0===u?void 0:u.at(-1)].every(e=>"number"==typeof e))return(0,W.jsx)("span",{style:{color:"#999"},children:"—"});const r=Number(e),n=null===(m=t.histogramTimeseries)||void 0===m||null===(m=m[0])||void 0===m?void 0:m.densities,i=Bg(o,null!==(p=null==n?void 0:n.length)&&void 0!==p?p:0),a=null!=i?Number(null==n?void 0:n[i]):null;return(0,W.jsxs)("div",{className:"d-flex align-items-center justify-content-end",style:{gap:6},children:[null!=a&&!isNaN(a)&&o&&(()=>{const e=Math.round(100*(r-a)),t=e>0?"+":"";return(0,W.jsx)($g,{currentValue:-r,previousValue:-a,currentFormatted:`${Math.round(100*r)}%`,previousFormatted:`${Math.round(100*a)}%`,changeFormatted:`${t}${e}pp`,currentDate:Ug(o[o.length-1]),previousDate:Ug(o[i])})})(),(0,W.jsxs)("span",{children:[Math.round(100*r),"%"]})]})}return null}var Kg=r(64219),Yg=r(72530);function Jg(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Qg=[{title:"Web Vitals",metrics:rg.t1.filter(e=>!rg.RQ.includes(e))},{title:"Ad Insights",metrics:rg.t1.filter(e=>rg.RQ.includes(e))}];function Zg(e){let t=e.visibleColumns,r=e.onChange,n=e.setSortDirection,i=e.setSortColumn,o=e.sortDirection,a=e.sortColumn,l=e.setHideXAxis,s=e.hideXAxis,c=e.chartType;const d=(0,B.useCallback)(e=>{t.includes(e)?r(t.filter(t=>t!==e)):r([...t,e].sort((e,t)=>rg.t1.indexOf(e)-rg.t1.indexOf(t)))},[r,t]),u=(0,B.useCallback)(e=>{r([...e].sort((e,t)=>rg.t1.indexOf(e)-rg.t1.indexOf(t)))},[r]);return(0,W.jsx)(vo.r,{title:"Edit Columns",background:"light",Trigger:e=>{let t=e.onClick;return(0,W.jsx)(ur.K,{icon:"config",className:"opacity-0.5 hover:opacity-1",onClick:t})},innerStyle:{overflow:"visible"},children:(0,W.jsx)("div",{className:"project-crux-history__column-toggle p-2",children:(0,W.jsx)(U.l1,{initialValues:{visibleColumns:t,sortDirection:o,sortColumn:a,hideXAxis:s},onSubmit:e=>{},children:e=>{let r=e.handleSubmit;return(0,W.jsxs)("form",{onSubmit:r,children:[(0,W.jsx)("h2",{children:"Visible Charts"}),Qg.map((e,r)=>(0,W.jsx)(eh,{title:e.title,metrics:e.metrics,visibleColumns:t,onToggle:d,onSelectOnly:u,className:r>0?"mt-2":void 0},e.title)),(0,W.jsx)("h2",{className:"pt-3",children:"Sort"}),(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)(th,{order:o,setOrder:n}),(0,W.jsx)(Yt.m,{small:!0,name:"sortColumn",onSelection:i,options:[{value:"domain",label:"Domain"},...t.map(e=>({value:e,label:hg.I7[e]}))]})]}),["breakdown","p75"].includes(c)&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("h2",{className:"pt-3",children:"Hide X Axis"}),(0,W.jsxs)("label",{className:"d-flex align-items-center",children:[(0,W.jsx)("input",{type:"checkbox",checked:s,onChange:()=>l(!s),className:"checkbox"}),(0,W.jsx)("span",{className:"ml-1",children:"Hide X Axis"})]})]})]})}},a+o)})})}function eh(e){let t=e.title,r=e.metrics,n=e.visibleColumns,i=e.onToggle,o=e.onSelectOnly,a=e.className;const l=(d=(0,B.useState)(()=>r.some(e=>n.includes(e))),u=2,function(e){if(Array.isArray(e))return e}(d)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(d,u)||function(e,t){if(e){if("string"==typeof e)return Jg(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Jg(e,t):void 0}}(d,u)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=l[0],c=l[1];var d,u;return 0===r.length?null:(0,W.jsxs)("div",{className:a,"data-testid":`crux-chart-section-${t}`,children:[(0,W.jsxs)("div",{className:"d-flex align-items-center justify-content-between",children:[(0,W.jsxs)("button",{type:"button",className:"d-flex align-items-center p-0 scale-small-1",style:{background:"none",border:"none",cursor:"pointer"},"aria-expanded":s,onClick:()=>c(!s),children:[s?(0,W.jsx)(Kg.D,{size:12}):(0,W.jsx)(vm.c,{size:12}),(0,W.jsx)("span",{className:"ml-1",children:t})]}),(0,W.jsx)("button",{type:"button",className:"btn-link scale-small-2",style:{border:"none",background:"none",padding:0},onClick:()=>{o(r),c(!0)},children:"Select All"})]}),s&&(0,W.jsx)("div",{className:"ml-3",children:r.map(e=>(0,W.jsxs)("label",{className:"d-flex align-items-center",children:[(0,W.jsx)("input",{type:"checkbox",checked:n.includes(e),onChange:()=>i(e),className:"checkbox"}),(0,W.jsx)("span",{className:"ml-1",children:hg.I7[e]})]},e))})]})}function th(e){let t=e.order,r=e.setOrder;return(0,W.jsx)(Yg.y,{width:24,height:24,className:"mr-2",style:{fill:"#ababab"},upProps:{style:{fill:t===hg.T6.ASC?"#22dd22":void 0,transitionDuration:"0.2s"}},downProps:{style:{fill:t===hg.T6.DESC?"#22dd22":void 0,transitionDuration:"0.2s"}},onClick:()=>r(t===hg.T6.ASC?hg.T6.DESC:hg.T6.ASC)})}var rh=r(14656),nh={};nh.styleTagTransform=ve(),nh.setAttributes=pe(),nh.insert=ue().bind(null,"head"),nh.domAPI=ce(),nh.insertStyleElement=he(),le()(rh.A,nh),rh.A&&rh.A.locals&&rh.A.locals;var ih=r(70429),oh=r(70681),ah={};function lh(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return sh(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?sh(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function sh(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ch(e){let t=e.project,r=e.values,n=e.patchProject,i=e.granularity;const o=lh((0,V.t)("editing","inactive",{useReplaceNavigation:!0}),2),a=o[0],l=o[1];return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("button",{"data-testid":"edit-domains-button",className:"btn btn-primary d-flex align-items-center btn-sm justify-content-left",onClick:()=>{l("editing")},children:[(0,W.jsx)(Zc.q,{className:"mr-2",style:{flex:"none"},strokeWidth:1.5})," ","Edit"]}),"inactive"===a?null:(0,W.jsx)(mh,{granularity:i,setEditingState:l,values:r,project:t,patchProject:n})]})}ah.styleTagTransform=ve(),ah.setAttributes=pe(),ah.insert=ue().bind(null,"head"),ah.domAPI=ce(),ah.insertStyleElement=he(),le()(oh.A,ah),oh.A&&oh.A.locals&&oh.A.locals;const dh={origin:(e,t,r)=>{try{const n=uh.origin({url:e});return n&&/^https?:\/\//.test(n)?t.includes(n)||r.includes(n)?"Domain already exists":(0,xt.Nr)(n.replace(/https?:\/\//,"")):"Must be a http: or https: protocol"}catch(e){return"Must be a valid domain"}},url:(e,t,r)=>
1{try{const n=uh.url({url:e});return n&&/^https?:\/\//.test(n)?t.includes(n)||r.includes(n)?"URL already exists":void 0:"Must be a http: or https: protocol"}catch(e){return"Must be a valid url"}}},uh={origin:e=>(0,N.$z)(e.url),url:e=>{var t;return null===(t=(0,I.A)((0,xt.bT)((0,fi.A)("url",e))))||void 0===t?void 0:t.href}};function mh(e){var t,r;let n=e.granularity,i=e.setEditingState,o=e.values,a=e.project,l=e.patchProject;const s=lh((0,B.useState)("inactive"),2),c=s[0],d=s[1],p=lh((0,B.useState)([]),2),g=p[0],h=p[1],f=(0,B.useMemo)(()=>new Set(o),[o.join(",")]),b=new Set((0,lu.A)(uh[n],null!==(t=null==a?void 0:a.pageLoads)&&void 0!==t?t:[]).filter(Boolean)),x=(null!==(r=o.map(e=>uh[n]({url:e})).filter(Boolean))&&void 0!==r?r:[]).filter(e=>!b.has(null!=e?e:"")),y=(0,B.useMemo)(()=>(0,T.sortBy)([...b,...x],[e=>f.has(e)?-1:1,T.identity]),[]),j=(0,B.useCallback)(e=>{let t=e.values;return function(e){let t=e.granularity,r=e.projectId,n=e.values,i=e.onComplete,o=e.onError;const a="origin"===t?"cruxHistoryOrigins":"cruxHistoryUrls";(0,e.onStart)(),u.FH.updateProject(r,{[a]:Array.from(new Set(Object.entries(n).filter(e=>lh(e,2)[1]).map(e=>{let r=lh(e,1)[0];return"origin"===t?(0,N.$z)(r):r})))},{onError:o}).then(e=>{let t=e[a];return i({[a]:t})}).catch(()=>o())}({granularity:n,projectId:a.id,values:t,onStart:()=>d("saving"),onComplete:e=>{i("inactive"),d("inactive"),l({...a,...e})},onError:()=>(i("editing"),d("error"),!1)})},[a,i,l,n]),w=(0,B.useMemo)(()=>Object.fromEntries(y.map(e=>[e.replace(/\^https:\/\//,""),f.has(e)])),[y,f]);return(0,W.jsx)(U.l1,{initialValues:{values:w,newValue:""},onSubmit:j,validate:e=>Object.values(e.values).filter(Boolean).length>25?{values:["The limit for additional and lab test items combined is 25"]}:{},children:e=>{let t=e.handleSubmit,r=e.setFieldValue,o=e.values,a=e.dirty,l=e.errors,s=e.setValues;return(0,W.jsxs)(_s.a,{isOpen:!0,onClose:()=>{i("inactive"),d("inactive")},onRequestClose:()=>{a&&!confirm("You have unsaved changes do you want to discard them?")||(i("inactive"),d("inactive"))},contentStyle:{width:document.body.clientWidth>650?"650px":"300px"},children:[(0,W.jsx)("h2",{children:"Configure Domains"}),(0,W.jsxs)("form",{onSubmit:t,className:"project-crux-history-modal__form wide-form",children:[(0,W.jsxs)("div",{className:"my-2",children:[(0,W.jsxs)("div",{className:"d-flex",children:[(0,W.jsx)(U.D0,{name:"newValue",id:"newValue",placeholder:"example.com",validate:e=>{if(e)return dh[n](e,Object.entries(o.values).filter(e=>lh(e,2)[1]).map(e=>lh(e,1)[0]),g)}}),(0,W.jsx)(ph,{granularity:n,onClick:e=>{e.preventDefault();const t=uh[n]({url:o.newValue});t&&!l.newValue&&(h([...g,t]),s({newValue:"",values:{...o.values,[t]:!0}}))}})]})," ",l.values||l.newValue?(0,W.jsx)(bt.H,{error:l.values||l.newValue}):null]}),(0,W.jsx)("div",{className:"project-crux-history-modal--lab",children:Array.from([...g,...y]).map(e=>(0,W.jsx)("label",{"data-testid":"crux-history-checkbox",className:"project-crux-history-modal--lab-value",children:(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)("span",{style:{flexGrow:1},className:"nowrap-ellipsis",children:e.replace(/https?:\/\//,"")}),(0,W.jsx)(m.E,{style:{flexShrink:0,margin:"0 10px"},small:!0,children:b.has(e)?"Lab":"Custom"}),(0,W.jsx)(U.D0,{style:{verticalAlign:"middle"},type:"checkbox",onChange:t=>r(["values",e],t.target.checked),checked:(0,T.get)(o,["values",e]),name:["values",e],className:"checkbox ml-auto"})]})},e))}),(0,W.jsx)(v.J,{isSubmitting:"saving"===c,title:"Apply"}),(0,W.jsx)(bt.H,{error:"error"===c?"There was an error saving your changes":void 0})]})]})}})}function ph(e){let t=e.granularity,r=e.onClick;return(0,W.jsxs)(ih.Z,{"data-testid":"add-domain-button",style:{flexShrink:0},className:"d-flex align-items-center ml-2 px-2",onClick:r,children:[(0,W.jsx)(y.c,{strokeWidth:1.5}),(0,W.jsxs)("span",{className:"ml-1",children:["Add ","origin"===t?"Domain":"URL"]})]})}function gh(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return hh(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hh(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hh(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function fh(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return vh(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vh(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vh(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const bh=[{title:"Origin",value:"origin",icon:(0,W.jsx)("div",{style:{height:"1.2rem"}})},{title:"URL",value:"url",icon:(0,W.jsx)("div",{style:{height:"1.2rem"}})}],xh=e=>e.replace(/^experimental_/,""),yh=e=>rg.t1.find(t=>xh(t)===e),jh=["largest_contentful_paint","cumulative_layout_shift","interaction_to_next_paint"].map(xh);function wh(e){var t;let r=e.projectId,n=e.showExportDialog,i=e.onCloseExportDialog;const o=(0,B.useContext)(l.v),a=o.project,s=o.patchProjectState,c=window.location.pathname.startsWith("/benchmarks/"),d=c?`Web Performance Benchmark: ${null!==(t=null==a?void 0:a.name)&&void 0!==t?t:""}`:"CrUX Trends";(0,B.useEffect)(()=>{c&&null!=a&&a.name&&(document.title=`Performance Benchmark: ${a.name}`)},[c,null==a?void 0:a.name]);const m=(0,W.jsx)(x.c,{content:"The CrUX Trends dashboard lets you see real-user Core Web Vitals metrics for the last 40 weeks, based on Google's Chrome User Experience Report (CrUX).",href:"/docs/crux-trends"}),p=(0,hu.a)()<1e3,g=fh((0,V.t)("sortColumn","largest_contentful_paint"),2),h=g[0],f=g[1],v=fh((0,V.t)("granularity","origin"),2),b=v[0],y=v[1],S=h.replace(/^-/,""),_=h.startsWith("-")?hg.T6.DESC:hg.T6.ASC,k=(0,B.useCallback)(e=>{f(`${_===hg.T6.DESC?"-":""}${e}`)},[_,f]),C=(0,B.useCallback)(e=>{f(`${e===hg.T6.DESC?"-":""}${S}`)},[S,f]),A=fh((0,V.t)("hideXAxis",""),2),I=A[0],T=A[1],D=(0,V.t)("metrics",jh,{parse:e=>null==e?void 0:e.filter(e=>!!yh(e))}),P=fh(D,2),F=P[0],M=P[1],O=(0,B.useMemo)(()=>F.map(yh).filter(e=>!!e),[F]),L=(0,B.useCallback)(e=>M(e.map(xh)),[M]),E=fh((0,V.t)("device","mobile"),2),R=E[0],U=E[1],$=fh((0,V.t)("chartType","summary"),2),G=$[0],z=$[1],q=function(e){let t=e.projectId,r=e.device,n=e.granularity;const i=(0,B.useContext)(l.v).project,o=gh((0,B.useState)("loading"),2),a=o[0],s=o[1],c=gh((0,B.useState)({cruxHistoryItems:{},originCount:0}),2),d=c[0],m=c[1],p=JSON.stringify(null==i?void 0:i.cruxHistoryOrigins),g=JSON.stringify(null==i?void 0:i.cruxHistoryUrls);return(0,B.useEffect)(()=>{s("loading"),u.FH.getProjectCruxHistory({projectId:t,device:r,granularity:n}).then(e=>{s("loaded"),m(e)})},[t,r,n,p,g]),(0,B.useMemo)(()=>({data:d,status:a}),[d,a])}({projectId:r,device:""===R?"all":R,granularity:b}),X=q.data,K=q.status,Y=X.cruxHistoryItems,J=X.originCount,Q=(0,B.useMemo)(()=>{var e,t,r,n,i;return"origin"===b?null!==(r=null==a?void 0:a.cruxHistoryOrigins)&&void 0!==r?r:(i=null!==(n=null==a?void 0:a.pageLoads)&&void 0!==n?n:[],(0,N.d8)(Cg(yg(kg(i))))):null!==(e=null==a?void 0:a.cruxHistoryUrls)&&void 0!==e?e:function(e){return Array.from(new Set(Cg(yg(kg(e)))))}(null!==(t=null==a?void 0:a.pageLoads)&&void 0!==t?t:[])},[a,b]);return(0,W.jsxs)(W.Fragment,{children:[n&&(0,W.jsx)(Fg,{onClose:i}),(0,W.jsx)(pr.B,{project:a,addPadding:!0}),(0,W.jsxs)(j.U5,{style:{position:"sticky",top:0,zIndex:10,marginTop:0,borderLeft:"none",borderRight:"none",borderTop:"none"},className:"bg-grey7 d-print-none",disableBorderRadius:!0,children:[p&&(0,W.jsxs)("div",{className:"m-0 mb-2 d-flex align-items-center gap-x
1xsm",children:[(0,W.jsx)("h1",{className:"m-0",style:{fontSize:16,fontWeight:500,color:"inherit"},children:d}),m]}),(0,W.jsxs)("div",{className:"d-flex align-items-center justify-content-between "+(p?"flex-wrap":""),style:p?{rowGap:8}:void 0,children:[(0,W.jsxs)("div",{className:"d-flex align-items-center gap-xsm",children:[!p&&(0,W.jsxs)("div",{className:"d-flex align-items-center gap-xxsm",children:[(0,W.jsx)("h1",{className:"m-0",style:{fontSize:16,fontWeight:500,color:"inherit"},children:d}),m]}),(0,W.jsx)(Ur,{currentDeviceType:R,onSelectDeviceType:U}),(0,W.jsx)(H.L,{optionValue:G,onSelectOption:z,options:[{title:"Summary",value:"summary",icon:null},{title:"Ratings",value:"breakdown",icon:null},{title:"P75",value:"p75",icon:null}]})]}),(0,W.jsx)("div",{className:"ml-2",style:{lineHeight:"1em"},children:(0,W.jsx)(Zg,{visibleColumns:O,onChange:L,sortColumn:S,sortDirection:_,setSortColumn:k,setSortDirection:C,hideXAxis:""!==I,setHideXAxis:e=>T(e?"1":""),chartType:G})}),(0,W.jsxs)("div",{className:"ml-auto d-flex gap-xsm",children:[(0,W.jsx)(H.L,{optionValue:b,onSelectOption:y,options:bh}),(null==a?void 0:a.canEdit)&&(0,W.jsx)(ch,{project:a,patchProject:s,values:Q,granularity:b})]})]})]}),(0,W.jsxs)("div",{className:"m-3",children:[!(null!=a&&a.cruxHistoryOrigins)&&J>25&&(0,W.jsxs)(tg.k,{type:"warning",children:["There are currently ",J," different"," ","origin"===b?"domains":"URLs"," in your lab test items. The CrUX history dashboard is limited to the first"," ",25,". Use the configure button to manage which ","origin"===b?"domains":"URLs"," you can see here"]}),"summary"===G?"loading"===K?(0,W.jsx)(w.y,{}):0===Q.length?(0,W.jsx)(gg,{}):(0,W.jsx)(j.U5,{noMargin:!0,padded:!1,children:(0,W.jsx)(Wg,{cruxData:Y,columns:O,device:R,chartType:"summary",sortByColumn:"domain"===h?null:h.replace("domain","website"),onSortByChange:e=>{f(null==e?"domain":e.replace("website","domain"))},pageLoads:null==a?void 0:a.pageLoads,granularity:b,projectId:r})}):(0,W.jsx)(Ig,{chartType:G,cruxData:Y,columns:O,device:R,granularity:b,status:K,sortColumn:S,sortDirection:_,setSortColumn:k,setSortDirection:C,hideXAxis:""!==I},origin),c&&"loading"!==K&&(0,W.jsx)(Sh,{})]})]})}function Sh(){return(0,W.jsx)(j.U5,{padded:!1,children:(0,W.jsx)($c.RO,{badge:"CrUX Trends",title:"Create Your Own Industry Benchmark",description:"Compare your website to competitors and get detailed insights to improve your Core Web Vitals.",features:["Monitor your own website","Track competitor performance","Get alerts when metrics change"],image:"https://www.debugbear.com/dimg/626efff341815c2f76d50f160c4d55fa.png",Actions:()=>(0,W.jsx)($c.ls,{href:"https://www.debugbear.com/signup",children:"Start Free Trial"})})})}var _h=r(2004),kh=r(73003),Ch=r(62164),Ah={};function Nh(e){let t=e.currentPage,r=e.pageCount,n=e.onClickNext,i=e.onClickPrevious;return(0,W.jsxs)("div",{className:"pagination-container","data-testid":"pagination",children:[(0,W.jsx)("div",{className:"current-pagination-details",children:(0,W.jsxs)("span",{children:["Page ",t," / ",r]})}),(0,W.jsxs)("div",{className:"pagination-buttons",children:[(0,W.jsxs)("button",{"data-testid":"pagination-prev-button",className:Ti()("pagination-button btn btn-sm"),onClick:i,disabled:1===t,children:[(0,W.jsx)(kh.J,{size:14}),(0,W.jsx)("span",{className:"ml-1",children:"Prev"})]}),(0,W.jsxs)("button",{"data-testid":"pagination-next-button",className:Ti()("pagination-button btn btn-sm"),onClick:n,disabled:t>=r,children:[(0,W.jsx)("span",{className:"mr-1",children:"Next"}),(0,W.jsx)(vm.c,{size:14})]})]})]})}Ah.styleTagTransform=ve(),Ah.setAttributes=pe(),Ah.insert=ue().bind(null,"head"),Ah.domAPI=ce(),Ah.insertStyleElement=he(),le()(Ch.A,Ah),Ch.A&&Ch.A.locals&&Ch.A.locals;var Ih=r(13541),Th=r(84304),Dh=r(97202),Ph=r(40961);function Fh(e){let t=e.newPagesCount,r=e.projectId;const n=(0,a.A)(e=>e.userName),i=(0,Aa.D)();return(0,W.jsx)("div",{className:"p-3 bg-white1 rounded-2",style:{borderBottom:i?"1px solid rgba(255, 255, 255, 0.1)":"1px solid #eee"},children:(0,W.jsxs)("div",{className:"d-flex align-items-center justify-content-between mx-auto",style:{maxWidth:"40em"},children:[(0,W.jsxs)("div",{className:"mr-4",children:[(0,W.jsxs)("div",{className:"color-blue1 font-weight-500 scale-4",style:{maxWidth:"20em"},children:["Congratulations, ",n,"! You’ve set up monitoring for your first page",t>1&&"s","."]}),(0,W.jsx)("div",{className:"mt-2 scale-base color-grey3",children:"It may take up to 5 minutes to see results."}),(0,W.jsxs)("div",{className:"d-flex flex-wrap mt-3",style:{gap:"0.5rem 1rem"},children:[(0,W.jsxs)($.N_,{to:A.DS.projectAddPageLoad(r),className:"btn btn-primary btn-sm d-inline-flex align-items-center",children:[(0,W.jsx)(y.c,{strokeWidth:1.7}),(0,W.jsx)("span",{className:"ml-2",children:"Add Another Page"})]}),(0,W.jsx)($.N_,{to:"/account/teams",className:"btn btn-outline-secondary btn-sm",children:(0,W.jsx)("span",{className:"px-2",children:"Invite Team Members"})})]})]}),(0,W.jsx)("div",{className:"d-none d-md-block",style:{fontSize:"8em",lineHeight:1.5},children:"🎉"})]})})}var Mh=r(29281);function Oh(e,t,r){const n=null==e?void 0:e[t];if(!n||n.length<2)return{previousValue:null,currentValue:null,delta:null};const i=n[n.length-2][r],o=n[n.length-1][r];return{previousValue:i,currentValue:o,delta:"number"!=typeof o||"number"!=typeof i?null:o-i}}function Lh(e){const t=e.pageLoad,r=e.trends,n=e.metrics,i=e.firstRangeStart,o=e.firstRangeEnd,a=e.secondRangeStart,l=e.secondRangeEnd,s=e.getPageUrl;return r?(0,W.jsx)(B.Fragment,{children:n.map(e=>{const c=Oh(r,t.id,e.id),d=c.previousValue,u=c.currentValue,m=c.delta,p=d?100*Math.abs((m||0)/d):null,g="number"==typeof u&&"number"==typeof d?e.getChangeRating(u,d):null,h="number"==typeof d?(0,N.Fl)(d,e.dataType):"?",f="number"==typeof u?(0,N.Fl)(u,e.dataType):"?",v=null!=d&&null!=u?(0,N.Fl)(m,e.dataType,{forceSign:!0}):"N/A";return(0,W.jsx)($.N_,{to:s(e.id),style:{textDecoration:"none"},children:(0,W.jsx)(S.m,{placement:"bottom",overlay:()=>(0,W.jsxs)(Mh.B,{space:1,className:"scale-small-1 color-grey3",children:[(0,W.jsxs)("div",{children:["Median from"," ",(0,W.jsx)("span",{className:"color-grey1",children:(0,N.Yq)(i,!0)})," ","to"," ",(0,W.jsx)("span",{className:"color-grey1",children:(0,N.Yq)(o,!0)}),":"," ",(0,W.jsx)("span",{className:"color-grey1 font-weight-bold",children:h})]}),(0,W.jsxs)("div",{children:["Median from"," ",(0,W.jsx)("span",{className:"color-grey1",children:(0,N.Yq)(a,!0)})," ","to"," ",(0,W.jsx)("span",{className:"color-grey1",children:(0,N.Yq)(l,!0)}),":"," ",(0,W.jsx)("span",{className:"color-grey1 font-weight-bold",children:f})]})]}),children:(0,W.jsxs)("div",{children:[(0,W.jsx)("h4",{className:`project-page-page-load__metric-title charts-count-${n.length}`,children:e.title}),(0,W.jsx)("div",{style:{color:Eg.Y[(0,k.r4)(g)],fontWeight:p&&p>
110&&"neutral"!==g?600:400},children:v}),(0,W.jsxs)("div",{className:"scale-small-2 color-coldGrey1 text-nowrap",children:[h," ➔ ",f]})]})})},e.id)})}):null}function Eh(e){var t;let r=e.project;const n=(0,a.A)(e=>e.userId);return(0,W.jsx)(f.w,{children:r&&(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{className:"px-2 bg-grey6",children:["BC:"," ",(0,W.jsx)("a",{href:"/debugbearadmin/bcSummary?bcId="+r.billingCustomerId,target:"_blank",rel:"noreferrer",children:r.billingCustomerId})," ","User: ",n," ",null===(t=r.billingCustomer)||void 0===t?void 0:t.planName]}),(0,W.jsx)("br",{}),(0,W.jsx)("a",{href:"/localOnly/overwritePeriodAndTriggerBundleSizeChange/"+r.id,children:"send test bundle size alert"}),(0,W.jsx)("br",{}),(0,W.jsx)("a",{href:"/localOnly/overwritePeriodAndTriggerProjectAlert/"+r.id,children:"overwritePeriodAndTriggerProjectAlert"}),(0,W.jsx)("br",{}),(0,W.jsx)("a",{href:"/debugbearadmin/weeklyReport/"+r.id,children:"weekly report"}),(0,W.jsx)("br",{}),(0,W.jsx)("a",{href:"/debugbearadmin/recentResults/?projectId="+r.id,children:"view recent results"}),(0,W.jsx)("br",{}),(0,W.jsx)("a",{href:"/localonly/makeProjectPublic/"+r.id,children:"Make project public (localOnly)"})]})})}var Rh=r(54499);function Uh(e){if("recent"===e)return"the last 10 tests";{const t=(0,ye.Rc)((0,N.ku)(new Date,e));return`${(0,N.Yq)(t.from)} to ${(0,N.Yq)(t.to)}`}}const Bh=e=>{let t=e.projectId,r=e.pageLoadIds,n=e.format,i=e.interval,o=e.view,a=e.metrics;const l=`/api/project/${t}/export/trends/${n}`,s=(0,oe.oD)(i,o),c=s.comparisonRangeFrom,d=s.comparisonRangeTo,u=s.selectedRangeFrom,m=s.selectedRangeTo;return(0,_.O$)(l,{metrics:a,firstRangeStart:c,firstRangeEnd:d,secondRangeStart:u,secondRangeEnd:m,pageLoadIds:r})};function $h(e){let t=e.interval,r=e.onClose,n=e.pageLoadIdsToExport,i=e.projectId,o=e.trendMetrics,a=e.totalPagesCount,l=e.view;const s=new URL(window.location.href);s.searchParams.set("printView","1");const c=(0,N.ku)(new Date,t),d=(0,_.O$)(`/api/project/${i}/export/lastResults/csv`,{pageLoadIds:n}),u=(0,_.O$)(`/api/project/${i}/export/lastResults/json`,{pageLoadIds:n}),m=(0,_.O$)(`/api/project/${i}/export/historicalResults/csv`,{pageLoadIds:n,interval:c}),p=(0,_.O$)(`/api/project/${i}/export/historicalResults/json`,{pageLoadIds:n,interval:c}),g=o?Bh({projectId:i,pageLoadIds:n,metrics:o,interval:t,view:l,format:"csv"}):null,h=o?Bh({projectId:i,pageLoadIds:n,metrics:o,interval:t,view:l,format:"json"}):null,f=n.length===a?` all ${a}`:n.length,v=function(e){let t=e.dateRangeAsString,r=e.pageLoadIds;const n="recent"===t?{from:new Date,to:new Date}:{from:new Date(t.split("-to-")[0]),to:new Date(t.split("-to-")[1])},i=(0,Rh.A)((0,Ce.A)(new Date,18),new Date)>(0,Rh.A)(n.from,n.to),o=r.length>100&&(0,Rh.A)((0,Ce.A)(new Date,6),new Date)>(0,Rh.A)(n.from,n.to);return r.length>1e3?(0,W.jsxs)("div",{className:"alert alert-warning",children:["You can only export data for up to 1000 pages at once. Currently"," ",r.length," are selected."]}):(r.length,i?(0,W.jsx)("div",{className:"alert alert-warning",children:"The date range you have selected is too large. You can only export data from the last 18 months."}):o?(0,W.jsx)("div",{className:"alert alert-warning",children:"The combination of your date range and number of pages to export is too great. If you are exporting over 100 pages you are restricted to a 6 month export range."}):null)}({dateRangeAsString:c,pageLoadIds:n});return(0,W.jsx)(Bl.O,{isOpen:!0,onClose:r,validationMessage:v,items:o?[{title:"Trends data",detail:`Download comparison data for ${f} pages in this project.`,titleTooltip:{content:"Download project trends data as JSON or CSV",href:"/docs/data-export"},formats:[{format:"json",url:h},{format:"csv",url:g}]}]:[{title:"Project metrics",detail:"Download the most recent test result for each page",titleTooltip:{content:"Download data as JSON or CSV",href:"/docs/data-export"},formats:[{format:"json",url:u},{format:"csv",url:d}]},{title:"Historical metrics",detail:`Data from ${Uh(t)} for ${f} pages in this project.`,titleTooltip:{content:"Download historical project data as JSON or CSV",href:"/docs/data-export"},formats:[{format:"json",url:p},{format:"csv",url:m}]}
1,{title:"Current view as PDF",detail:"Export the project overview as a PDF.",formats:[{format:"pdf",url:s.href}]}]})}var Vh=r(26350),Hh=r(92038),Wh=r(71541),Gh=r(79385),zh=r(20229),qh=r(42340),Xh=r(9140);function Kh(e){return null===e||e&&0===e.length}var Yh=r(15901),Jh=r(36891),Qh=r(55722),Zh=r(87746),ef=r(29497),tf=r(32702),rf={};function nf(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function of(e){let t=e.values,r=e.metric,n=e.formFactor,i=e.isOriginLevelCruxData,o=e.interval,l=e.size,s=e.noDataForMostRecentPeriodInAnyPageLoadTrend;const c=(m=B.useState(!1),p=2,function(e){if(Array.isArray(e))return e}(m)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(m,p)||function(e,t){if(e){if("string"==typeof e)return nf(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?nf(e,t):void 0}}(m,p)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=c[0],u=c[1];var m,p;t.length>0&&Object.values((0,T.omit)((0,T.last)(t),["date"])).every(e=>null===e)&&(t=t.slice(0,-1));const g=t.length>=2&&new Date(t[t.length-1].date).valueOf()-new Date(t[0].date).valueOf()>15552e6;let h=t.map(e=>e[r.id]),f=Math.max(...h.filter(e=>"number"==typeof e))+.001;h.every(e=>null===e)&&(f=.001),"score"===r.dataType&&(f*=100);const v="tall"===l?30:26;return(0,W.jsx)("div",{style:{height:v},onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),className:"trendline "+(s?"trendline__no-data-for-most-recent-period":""),children:h.map((e,l)=>{"score"===r.dataType&&"number"==typeof e&&(e*=100);let s=r.getRating(e,n);const c=(0,Jh.u9)(s,a.A.getState().highContrast)||"#0976a7",u=(0,W.jsx)("div",{className:"trendline__outer-bar",style:{height:v},children:(0,W.jsx)("div",{className:"trendline__middle-bar",children:(0,W.jsx)("div",{className:"trendline__inner-bar",style:{background:c,height:"number"==typeof e?Math.max(e/f*v,1):0}})})},l);if(d){const a=t[l].date?"recent"===o?(0,N.r6)(new Date(t[l].date),{excludeYear:!0}):(0,N.Yq)(new Date(t[l].date),g):null,s="month"===o?a?(0,N.UL)(new Date(t[l].date)):"":"week"===o?`Week from ${a}`:a;let c=r.title.replace("Good (CrUX)","Good Core Web Vitals (CrUX)");return(0,W.jsx)(S.m,{overlay:(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"scale-small-1",children:c}),(0,W.jsx)("div",{children:i?(0,W.jsxs)("div",{className:"scale-small-1 mt-1 d-flex align-items-center",children:[(0,W.jsx)(b.i,{size:14,className:"mr-1"}),"Only origin-level Google CrUX data is available."]}):""}),(0,W.jsx)("div",{className:"mt-1 scale-base",style:{fontWeight:"bold"},children:null===e?"No data":(0,N.Fl)(e,r.dataType)}),(0,W.jsx)("div",{className:"scale-small-1 color-coldGrey1",children:s}),r.getRatingThresholds&&(0,W.jsx)(ef.K,{thresholds:r.getRatingThresholds(n),dataType:r.dataType})]}),placement:"top",children:u},l)}return u})})}rf.styleTagTransform=ve(),rf.setAttributes=pe(),rf.insert=ue().bind(null,"head"),rf.domAPI=ce(),rf.insertStyleElement=he(),le()(tf.A,rf),tf.A&&tf.A.locals&&tf.A.locals;const af=B.memo(function(e){var t;let r=e.pageLoad,n=e.metric,i=e.perfSummary,o=e.trends,a=e.title,l=e.interval,s=e.size,c=e.layout,d=e.metricCount,u=e.noDataForMostRecentPeriodInAnyPageLoadTrend,m=e.valueType;const p=o&&o[r.id]||[],g=p.find(e=>null!=e.date),h=[...p].reverse().find(e=>null!=e.date),f=g&&h&&new Date(h.date).valueOf()-new Date(g.date).valueOf()>15552e6,v=p.map(e=>e[n.id]).filter(e=>"number"==typeof e),b=i&&n.getValue(i);let x="median"===m?(0,N.r9)(v):v.length>0?(0,T.sum)(v)/v.length:null;"score"===n.dataType&&"number"==typeof x&&(x*=100);const y=n.id.includes("crux")&&(null==i||null===(t=i.crux)||void 0===t?void 0:t.g)===Zh.P.origin;return(0,W.jsxs)("div",{"data-testid":`trendline-${n.id}`,className:"project-page-page-load__metric",style:{opacity:y?.3:1},children:[(0,W.jsx)("h4",{className:`project-page-page-load__metric-title charts-count-${d}`,children:a}),(0,W.jsx)(of,{values:p,metric:n,formFactor:r.device.formFactor,isOriginLevelCruxData:y,interval:l,size:s,noDataForMostRecentPeriodInAnyPageLoadTrend:u}
1),(0,W.jsx)(S.m,{overlay:"lastValue"!==m?(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"scale-small-1 color-coldGrey1",children:"median"===m?"Median":"Average"}),(0,W.jsx)("div",{children:g&&h?`${(0,N.Yq)(new Date(g.date),f)} – ${(0,N.Yq)(new Date(h.date),f)}`:"?"})]}):(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"scale-small-1 color-coldGrey1",children:"Last result"}),(0,W.jsx)("div",{children:null!=i&&i.endTime?(0,N.Yq)(new Date(i.endTime),f):"?"}),"number"!=typeof b&&n.id.includes("crux")&&(0,W.jsx)("div",{className:"scale-small-1 mt-1 color-coldGrey1",children:"Real-user CrUX data is only available if a website gets enough traffic from Chrome users."})]}),placement:"bottom",children:(0,W.jsxs)("div",{style:{lineHeight:"1em",display:"table"===c?"flex":void 0,alignItems:"table"===c?"center":void 0},children:["table"===c&&(0,W.jsx)(sf,{values:p,metric:n,formFactor:r.device.formFactor}),(0,W.jsx)("div",{style:{minWidth:"table"===c?32:void 0,whiteSpace:"table"===c?"nowrap":void 0},children:(0,W.jsx)(lf,{chartMetric:n,metricValue:"lastValue"===m?b:x,formFactor:r.device.formFactor})})]})})]})});function lf(e){let t=e.metricValue,r=e.chartMetric,n=e.formFactor,i="unknown";"number"==typeof t&&(i=r.getRating(t,n));let o=Qh.H9[i];return(0,W.jsx)("div",{style:{color:o,paddingTop:6,lineHeight:1,fontWeight:500},children:(0,N.Fl)(t,r.dataType,{precision:"cumulativeLayoutShift"===r.id||r.id.includes(".rtt")?void 0:2,roundDecimals:"cumulativeLayoutShift"===r.id?2:void 0,noValueFallback:"–"})})}function sf(e){let t=e.values,r=e.metric,n=e.formFactor;const i=a.A.getState().highContrast;let o=t;o.length>0&&Object.values((0,T.omit)((0,T.last)(o),["date"])).every(e=>null===e)&&(o=o.slice(0,-1));const l=o.map(e=>{let t=e[r.id];return"score"===r.dataType&&"number"==typeof t&&(t*=100),t});if(0===l.length)return null;const s=l.filter(e=>"number"==typeof e);if(0===s.length)return null;const c=Math.max(...s),d=Math.min(...s),u=c-d||1,m=(()=>{for(let e=l.length-1;e>=0;e--)if("number"==typeof l[e])return r.getRating(l[e],n);return"unknown"})(),p=(0,Jh.u9)(m,i)||"#0976a7",g=l.map((e,t)=>"number"!=typeof e?null:`${t/(l.length-1)*45},${9.25-(e-d)/u*8.5}
1`).filter(Boolean).join(" ");return(0,W.jsx)("div",{className:"mini-trendline",children:(0,W.jsx)("svg",{width:45,height:10,children:(0,W.jsx)("polyline",{points:g,stroke:p,fill:"none",strokeWidth:1.5})})})}function cf(e,t){return((0,Vh.v)(e,null==t?void 0:t.metricGroups)||[]).map(e=>(0,k.Hh)(e)).filter(e=>!!e)}var df=r(15121),uf=r(35234),mf=r(82141),pf=r(47695),gf=r(43511);function hf(e){let t,r=e.advancedSetting,n=e.isRemoved,i=void 0!==n&&n,o=e.isAdded;i?t={color:"red",textDecoration:"line-through"}:void 0!==o&&o&&(t={color:"green"});let a=um.L;return"budget"===r.type&&(a=gf.T),(0,W.jsxs)("div",{style:t,"data-test-advanced-setting":r.id,children:[(0,W.jsx)(a,{})," ",r.name]},r.id)}var ff=r(66668);class vf extends B.PureComponent{render(){var e;const t=this.props,r=t.pageLoad,n=t.project,i=t.proposedChanges,o=e=>{var t;return null===(t=n.testSchedules.find(t=>t.id===e))||void 0===t?void 0:t.name},a=r.pageTestSchedules[0]&&[r.pageTestSchedules[0].testScheduleId]||[],l=i.testScheduleIds||[],s=o(a[0]),c=o(l[0]),d=r.pageLoadFlowSteps.length>0&&(null===(e=(0,T.last)(r.pageLoadFlowSteps).flowStep)||void 0===e?void 0:e.name),u=r.pageAdvancedSettings.map(e=>e.advancedSetting),m=[...u,...i.addedAdvancedSettings.filter(e=>!u.find(t=>t.id===e.id))];return(0,W.jsxs)("div",{className:"project-page-page-load__more-details-container scale-small-1",children:[(0,W.jsxs)("div",{children:["desktop"===r.device.formFactor?(0,W.jsx)(Lr.S,{}):(0,W.jsx)(Er.C,{}),(0,N.sK)(r.device.name)]}),(0,W.jsxs)("div",{children:[(0,W.jsx)(Gs.f,{}),i.region&&i.region!==r.region?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("span",{className:"project-page-page-load__proposed-old",children:(0,Bt.fZ)(r.region)}),(0,W.jsx)("span",{className:"project-page-page-load__proposed-new ml-1",children:(0,Bt.fZ)(i.region)})]}):(0,Bt.fZ)(r.region)]}),d&&(0,W.jsxs)("div",{children:["➔ ",d]}),(0,W.jsxs)("div",{children:[(0,W.jsx)(ff.O,{}),c&&c!==s?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("span",{className:"project-page-page-load__proposed-old",children:s}),(0,W.jsx)("span",{className:"project-page-page-load__proposed-new ml-1",children:c})]}):s]}),r.disableStorageReset&&(0,W.jsxs)("div",{children:[(0,W.jsx)(um.L,{})," Warm Load"]}),m&&m.map((e,t)=>e&&(0,W.jsx)(hf,{advancedSetting:e,isRemoved:!!i.removedAdvancedSettings.find(t=>t.id===e.id),isAdded:!!i.addedAdvancedSettings.find(t=>t.id===e.id)},t))]})}}var bf=r(34945),xf={};xf.styleTagTransform=ve(),xf.setAttributes=pe(),xf.insert=ue().bind(null,"head"),xf.domAPI=ce(),xf.insertStyleElement=he(),le()(bf.A,xf),bf.A&&bf.A.locals&&bf.A.locals;const yf=["canEdit","className","onDelete","overlayClassName","pageLoadId","projectId","small","displayIndex"];function jf(e){const t=e.canEdit,r=e.className,n=e.onDelete,i=e.overlayClassName,o=e.pageLoadId,a=e.projectId,l=e.small,s=e.displayIndex,c=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,yf);return t?(0,W.jsxs)("div",{className:Ti()("page-screenshot-with-actions",r,{"page-screenshot-with-actions--small":l}),children:[(0,W.jsxs)("div",{className:Ti()("page-screenshot-with-actions__overlay",i),children:[(0,W.jsx)("a",{onClick:(0,N.kK)(n),href:"#",className:"page-screenshot-with-actions__action","data-test-delete-page":o,"aria-label":"Delete page",title:"Delete page",children:(0,W.jsx)(Mi.d,{size:16,strokeWidth:1.5})}),(0,W.jsx)($.N_,{onClick:e=>e.stopPropagation(),to:A.DS.projectAddPageLoad(a,{duplicatePageLoadId:o}),className:"page-screenshot-with-actions__action","aria-label":"Create a new page based on this page's settings",title:"Create a new page based on this page's settings",children:(0,W.jsx)(Vc.j,{size:16,strokeWidth:1.5})}),(0,W.jsx)($.N_,{onClick:e=>e.stopPropagation(),to:A.DS.pageLoadEditUrl(a,o),className:"page-screenshot-with-actions__action","aria-label":"Edit page",title:"Edit page",children:(0,W.jsx)(Zc.q,{size:16,strokeWidth:1.5})})]}),(0,W.jsx)(Au,{small:l,...c,lazyLoading:s>5})]}):(0,W.jsx)(Au,{className:r,small:l,...c})}var wf=r(16504),Sf={};Sf.styleTagTransform=ve(),Sf.setAttributes=pe(),Sf.insert=ue().bind(null,"head"),Sf.domAPI=ce(),Sf.insertStyleElement=he(),le()(wf.A,Sf),wf.A&&wf.A.locals&&wf.A.locals;var _f=r(46525),kf=r(97999),Cf=r(89198);const Af=[{value:"table",label:"Narrow Table",icon:(0,W.jsx)(Cf.K,{})},{value:"compact",label:"Standard View",icon:(0,W.jsx)(_f.N,{})},{value:"full",label:"Detailed View",icon:(0,W.jsx)(kf.$,{})}];function Nf(e){let t=e.layout,r=e.onToggle;return(0,W.jsx)(If,{value:t,onChange:r,options:Af,dataTestAttribute:"data-test-filter-button"})}function If(e){let t=e.value,r=e.onChange,n=e.options,i=e.dataTestAttribute;return(0,W.jsx)("div",{className:"compact-expanded-toggle",children:n.map(e=>(0,W.jsxs)("button",{type:"button",className:Ti()("compact-expanded-toggle__option",{"compact-expanded-toggle__option--active":t===e.value}),...i?{[i]:e.value}:{},onClick:()=>r(e.value),children:[e.icon&&(0,W.jsx)("span",{className:"compact-expanded-toggle__icon",children:e.icon}),(0,W.jsx)("span",{className:"compact-expanded-toggle__label",children:e.label}),t===e.value&&(0,W.jsx)(nd.P,{size:14,className:"compact-expanded-toggle__check"})]},e.value))})}var Tf=r(50426),Df=r(33211),Pf=r(43777),Ff=r(73695),Mf={};Mf.styleTagTransform=ve(),Mf.setAttributes=pe(),Mf.insert=ue().bind(null,"head"),Mf.domAPI=ce(),Mf.insertStyleElement=he(),le()(Ff.A,Mf),Ff.A&&Ff.A.locals&&Ff.A.locals;const Of=(0,B.forwardRef)(function(e,t){let r=e.activeSavedFilter,n=e.defaultSearchValue,i=e.onCh
1ange,o=e.savedFilters,a=e.setAnchorElement,l=e.setEditingFilterName,s=e.hideSearchInput;const c=(0,B.useRef)(null);return(0,W.jsxs)(W.Fragment,{children:[!s&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("input",{"data-test-search-pages":!0,id:"project-pages-search-box",className:"small",style:{verticalAlign:"top",marginTop:0,paddingTop:3,paddingBottom:3},type:"text","aria-label":"Search",placeholder:"Search",ref:t,defaultValue:n,onInput:e=>{var t;return i({search:e.target.value||(null!=r&&null!==(t=r.filters)&&void 0!==t&&t.search?"":void 0)})}})," ",(0,W.jsx)("span",{className:"mr-2 d-inline-flex",children:(0,W.jsx)(x.c,{disableVerticalAlignMiddle:!0,style:{verticalAlign:"middle"},href:"/docs/project-overview#search",content:(0,W.jsxs)("div",{children:[(0,W.jsx)("p",{className:"mb-2",children:"You can search by page name, URL, server location, or form factor."}),(0,W.jsxs)("p",{className:"mb-2",children:[(0,W.jsx)("code",{children:"australia https"})," will match all HTTPS pages tested from the Australia region."]}),(0,W.jsxs)("p",{className:"mb-2",children:[(0,W.jsx)("code",{children:"about desktop | blog"})," will match a desktop about page and mobile and desktop blog pages."]}),(0,W.jsxs)("p",{className:"mb-2",children:[(0,W.jsx)("code",{children:"[homepage] [production]"})," will match pages with both the homepage and production tags."]}),(0,W.jsxs)("p",{className:"mb-0",children:["Use an exclamation mark to exclude pages, e.g."," ",(0,W.jsx)("code",{children:"!homepage"}),"."]})]})})})]}),(0,W.jsx)(wo,{savedFilters:o,savedFilter:r,onFilterSelected:e=>{i({filterId:e,device:void 0,device_type:void 0,pageLoadId:void 0,pageLoadId_type:void 0,tag:void 0,tag_type:void 0,domain:void 0,domain_type:void 0,url:void 0,url_type:void 0,search:void 0})}}),(0,W.jsx)(mi,{ref:c,onClick:()=>{l("__new__"),a(c.current)},"data-testid":"add-filter-button",children:"+ Add Filter"})]})});function Lf(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ef(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ef(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ef(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Rf=e=>(0,W.jsx)(ur.K,{icon:"config",...e,className:"opacity-0.5 hover:opacity-1"});function Uf(e){var t;let r=e.handleBulkEditClick,n=e.info,i=e.layout,o=e.project,s=e.projectId,c=e.replaceUrlParams,d=e.savedFilters,u=e.searchInput,m=e.searchInputRef,p=e.pushUrlParams,g=e.queryParams,h=e.savedFilter,f=e.view,v=e.interval,b=e.triggerUI;const x=(0,l.O)().patchProjectState,j=(0,a.A)(e=>{var t;return null===(t=e.models.latestPerfSummariesForProject)||void 0===t?void 0:t[s.toString()]}),w=(null!==(t=null==o?void 0:o.pageLoads)&&void 0!==t?t:[]).map(e=>null==j?void 0:j[e.id]).filter(Boolean),_=Lf(Bf(),2),k=_[0],C=_[1],N=(0,B.useMemo)(()=>xn(hn(g,null==h?void 0:h.filters),o),[g,o,null==h?void 0:h.filters]),I=Lf((0,B.useState)(""),2),T=I[0],D=I[1],P=Lf((0,B.useState)(null),2),F=P[0],M=P[1],O=N.find(e=>e.id===T||e.id===yn(T)),L=(0,B.useCallback)(e=>{var t;const r=yn(e),n=null==h||null===(t=h.filters)||void 0===t?void 0:t[r];c({[r]:n?"":void 0,[`${r}_type`]:void 0,currentPage:void 0})},[c,h]),E=(0,B.useMemo)(()=>N.map(e=>e.id),[N]),R=(0,B.useCallback)(e=>{(null==h?void 0:h.id)===e.id&&c(Object.fromEntries(Object.keys(e.filters).map(e=>[e,void 0])))},[h,c]);let U=null==g?void 0:g.search;var V,H;Array.isArray(U)&&(U=null!==(V=null===(H=U[0])||void 0===H?void 0:H.trim())&&void 0!==V?V:"");const G=U||(null==h?void 0:h.filters.search)||"";return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("div",{className:"pageloads__header d-print-none d-flex justify-content-between align-items-center",children:[(0,W.jsxs)("div",{className:"d-flex gap-xxsm align-items-center",children:[(0,W.jsx)("h2",{className:"mb-0",children:(0,W.jsx)(Df.I,{children:"Pages"})}),(0,W.jsx)(Of,{ref:m,activeSavedFilter:h,defaultSearchValue:String(Array.isArray(G)?G[0]:G),onChange:e=>{c({...e,currentPage:void 0}),"search"in e&&!e.search&&u&&(u.value="")},savedFilters:d,setAnchorElement:M,setEditingFilterName:D})]}),(0,W.jsxs)("div",{className:"d-flex gap-xxsm align-items-center",children:[(!o||o.canEdit)&&(0,W.jsxs)(W.Fragment,{children:[b&&(0,W.jsx)("div",{className:"mr-1",children:b}),(0,W.jsx)(S.m,{overlay:"Add page",children:(0,W.jsx)($.N_,{to:A.DS.projectAddPageLoad(s),className:"project-top-right-button small-add-page-button","aria-label":"Add page",children:(0,W.jsx)(y.c,{strokeWidth:1.5})})}),(0,W.jsx)(S.m,{overlay:"Enter bulk edit mode",children:(0,W.jsx)("button",{type:"button",onClick:r,className:"project-top-right-button small-add-page-button mr-1","data-testid":"toggle-bulk-edit","aria-label":"Enter bulk edit mode",children:(0,W.jsx)(Zc.q,{size:13,strokeWidth:1.5})})})]}),(0,W.jsx)(Pf.l,{value:n,offset:!0,customMetricGroups:o?o.metricGroups:[],onSelect:e=>{e!==n&&(localStorage.setItem("projectInfo",e),p({info:e}))},userCanEditProject:!!o&&o.canEdit,onCreateMetricGroup:e=>{o&&x({id:o.id,metricGroups:[...o.metricGroups,e]})},onUpdateMetricGroup:e=>{o&&x({id:o.id,metricGroups:o.metricGroups.map(t=>
1t.id!==e.id?t:e)})},perfSummaries:w,projectId:s}),(0,W.jsx)("div",{className:"ml-2",style:{lineHeight:"1em"},children:(0,W.jsx)(vo.r,{title:"Open Settings",Trigger:Rf,background:"light",children:(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"compact-expanded-toggle__section-title",children:"Layout"}),(0,W.jsx)(Nf,{layout:i,onToggle:e=>{p({layout:e}),localStorage.setItem("projectLayout",e)}}),"overview"===f&&!(0,oe.FG)(v)&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{className:"compact-expanded-toggle__section-title",children:"Value To Show"}),(0,W.jsx)(If,{value:k,onChange:e=>C(e),options:[{value:"lastValue",label:"Last Value",icon:(0,W.jsx)(Tf.C,{style:{strokeWidth:"1.33333"}})},{value:"average",label:"Average",icon:(0,W.jsx)(bs.G,{strokeWidth:1.33333})},{value:"median",label:"Median",icon:(0,W.jsx)(cg.K,{size:16})}]})]})]})})})]})]}),(0,W.jsx)("div",{className:"px-3 top-section-border-bottom d-print-none "+(N.length?"pb-3":""),children:(0,W.jsx)(Lo,{filters:N,project:null!=o?o:void 0,editingFilterName:T,onClickFilterItem:(e,t)=>{D(e),M(t)},onClickDeleteFilterItem:L,savedFilter:h,onClearFilters:e=>{c({filterId:void 0,...Object.fromEntries(e.map(e=>[yn(e.id),void 0]))})},onSaveFilters:R})}),T?(0,W.jsx)(ho,{flattenFilterAttributeList:!0,project:o,dataDomain:"lab_tests",filtersInUse:E,initialFilter:{attributeFilter:"__new__"===T?"":T,filterValue:O?Array.isArray(O.rawValue)?O.rawValue:[O.rawValue]:[],filterQueryType:null==O?void 0:O.filterType},onCancel:()=>{D(""),M(null)},onApply:e=>{var t;let r=e.filterName,n=e.filterValue,i=e.filterQueryType;const o=`${yn(r)}_type`;D(""),M(null),c({[yn(r)]:n.map(String),[o]:"is"!==i||"is"!==(null!==(t=null==h?void 0:h.filters[o])&&void 0!==t?t:"is")?i:void 0,currentPage:void 0})},anchorElement:F}):null]})}function Bf(){return(0,V.t)("valueType","lastValue")}function $f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Vf=(0,B.memo)(function(e){let t=e.perfSummary,r=e.pageLoad,n=e.trends,i=e.metrics,o=e.interval,a=e.getPageUrl,l=e.size,s=e.layout,c=e.noDataForMostRecentPeriodInAnyPageLoadTrend;const d=(u=Bf(),m=1,function(e){if(Array.isArray(e))return e}(u)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(u,m)||function(e,t){if(e){if("string"==typeof e)return $f(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?$f(e,t):void 0}}(u,m)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];var u,m;return(0,W.jsx)(W.Fragment,{children:i.map(e=>(0,W.jsx)($.N_,{to:a(e.id),className:"project-page-page-load__link",children:(0,W.jsx)(af,{title:e.shortTitle?e.shortTitle:e.title,pageLoad:r,trends:n,metric:e,perfSummary:t,interval:o,size:l,layout:s,metricCount:i.length,noDataForMostRecentPeriodInAnyPageLoadTrend:c,valueType:d})},e.id))})}),Hf=["children","inProgress"],Wf=(0,B.memo)(function(e){var t,r,n;let i=e.project,o=e.pageLoad,a=e.perfSummary,l=e.selectedView,s=e.selectedPageDetails,c=e.timelineData,d=e.onClickDelete,u=e.proposedChanges,m=e.trends,p=e.interval,g=e.layout,h=e.firstComparisonRangeStart,v=e.firstComparisonRangeEnd,b=e.secondComparisonRangeStart,x=e.secondComparisonRangeEnd,y=e.maxTiming,j=e.inProgress,w=e.isDraggable,S=e.showTrends,_=e.displayIndex,C=e.noDataForMostRecentPeriodInAnyPageLoadTrend;const N=(0,pf.Wx)(),I=N.inView,T=N.ref,D=(0,uf.I)(),P=null!==(t=null==a?void 0:a.formFactor)&&void 0!==t?t:o.device.formFactor,F=(0,W.jsx)(vf,{pageLoad:o,project:i,proposedChanges:u}),M=[...o.tags,...u.addedTags.filter(e=>!o.tags.includes(e))],O=cf(s,i),L=null===(r=i.pageLoads)||void 0===r?void 0:r.filter(e=>e.url===o.url),E=new Set(null==L?void 0:L.map(e=>e.region)).size>1;let R=[];!(new Set(null==L?void 0:L.map(e=>e.device.name)).size>1)||o.name.toLowerCase().includes("desktop")||o.name.toLowerCase().includes("mobile")||R.push(o.device.name),E&&R.push((0,Bt.fZ)(o.region));let U=o.name+(R.length>0?` – ${R.join(" / ")}`:"");const V=(null==m?void 0:m[o.id])||[],H=function(e,t,r){const n=new Date;if(null!=e&&e.includes("-to-"))return e;let i;if("overview"===t)if("recent"===e&&r&&r<(0,He.A)(n,-30))i=r;else{if("week"===e)return"last-3-months";"month"===e&&(i=(0,He.A)(n,-310))}else"trends"===t&&"month"===e&&(i=(0,He.A)(n,-62));return i?(0,ye.vo)({from:(0,We.A)(i),to:(0,gi.A)((0,He.A)(n,2))}):void 0}(p,l,V.length>0?new Date(V[0].endTime):void 0),G=(0,B.useCallback)(function(e){const t=e&&(0,k.Hh)(e);let r="overview";return t&&(r=t.tabName),A.DS.pageLoadUrl(i.id,o.id,r,{dateRangeName:H,metric:e||void 0})},[H,o.id,i.id]);let z=$.N_,q={to:G(null)};return w&&(z="div",q={}),(0,W.jsx)(z,{"data-test-project-pageload":o.name,className:Ti()("pageloads-table__item",{"pageloads-table__item--draggable":w}),...q,ref:T,children:(0,W.jsxs)("div",{className:"row project-page-page-load",children:[(0,W.jsx)(f.w,{children:o.order}),"overview"===l&&(0,W.jsxs)("div",{className:Ti()(`col project-page-page-load__wrapper charts-count-${O.length}`,{"project-page-page-load__trends":S,"project-page-page-load__overview":"overview"===l&&!S}),children:[(0,W.jsxs)("div",{className:"project-page-page-load__page-container",children:[("compact"===g||"table"===g)&&(0,W.jsxs)("div",{className:"d-flex",children:[(0,W.jsx)(jf,{c
1anEdit:"table"!==g&&i.canEdit,className:"mr-3",formFactor:P,onDelete:()=>d(o),overlayClassName:Ti()("project-page-page-load__actions-overlay",{"disable-overlay":w}),pageLoadId:o.id,pageLoadName:o.name,projectId:i.id,screenshot:null==a?void 0:a.screenshot,thumbnail:null==a?void 0:a.thumbnail,screenWidth:null==a?void 0:a.screenWidth,screenHeight:null==a?void 0:a.screenHeight,small:!0,waiting:!a,displayIndex:_}),(0,W.jsxs)("div",{className:"project-page-page-load__page-name-container",children:[(0,W.jsx)(zf,{inProgress:j,title:U,children:U}),"compact"===g&&(0,W.jsx)("div",{className:"pageloads-table__url",title:o.url,children:Gf(o.url)})]})]}),"full"===g&&(0,W.jsxs)("div",{className:"d-flex",children:[(0,W.jsx)(jf,{canEdit:i.canEdit,className:"mr-3",formFactor:P,screenWidth:null==a?void 0:a.screenWidth,screenHeight:null==a?void 0:a.screenHeight,onDelete:()=>d(o),overlayClassName:Ti()("project-page-page-load__actions-overlay",{"disable-overlay":w}),pageLoadId:o.id,pageLoadName:o.name,projectId:i.id,screenshot:null==a?void 0:a.screenshot,thumbnail:null==a?void 0:a.thumbnail,small:!1,waiting:!a,displayIndex:_}),(0,W.jsxs)("div",{className:"project-page-page-load__page-name-container",children:[(0,W.jsx)(zf,{inProgress:j,title:o.name,children:u.name&&u.name!==o.name||u.maybeDelete?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("span",{className:"project-page-page-load__proposed-old",children:o.name}),(0,W.jsx)("span",{className:"project-page-page-load__proposed-new ml-1",children:u.name})]}):U}),(0,W.jsx)("div",{className:"pageloads-table__url",title:o.url,children:u.url&&u.url!==o.url?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("span",{className:"project-page-page-load__proposed-old",children:Gf(o.url)}),(0,W.jsx)("span",{className:"project-page-page-load__proposed-new ml-1",children:Gf(u.url)})]}):Gf(o.url)}),F,M.length>0&&(0,W.jsx)("div",{style:{whiteSpace:"normal"},children:M.map(e=>(0,W.jsx)(Jd,{tag:e,isRemoved:u.removedTags.includes(e),isAdded:!o.tags.includes(e)&&u.addedTags.includes(e)},e))})]})]})]}),"overview"===l?I||D?S?(0,W.jsx)(Lh,{pageLoad:o,firstRangeStart:h,firstRangeEnd:v,secondRangeStart:b,secondRangeEnd:x,trends:m,metrics:O,getPageUrl:G}):(0,W.jsx)(Vf,{interval:p,pageLoad:o,perfSummary:a,trends:m,metrics:O,getPageUrl:G,size:"full"===g?"tall":"normal",layout:g,noDataForMostRecentPeriodInAnyPageLoadTrend:C}):(0,W.jsx)("div",{style:{height:22}}):null]}),"filmstrip"===l&&(0,W.jsxs)("div",{className:"col-md-12",children:[(0,W.jsx)("h3",{style:{marginBottom:8},children:o.name}),"filmstrip"===l&&(0,W.jsx)("div",{style:{width:"100%",minHeight:80},children:c&&(0,W.jsxs)("div",{children:[c.loadingData&&(0,W.jsx)(kt.v,{}),c.noData&&(0,W.jsx)("div",{className:"color-coldGrey1 scale-small-1",children:"Filmstrip not available"}),(0,W.jsx)(Xh.ZJ,{...c,perfSummary:a,disableFilmstripHover:!0,maxTiming:y,filmstripSize:"mobile"===P?"medium":"large",showTimelineAxisBelowFilmstrip:(null===(n=c.filmstrip)||void 0===n?void 0:n.length)>0,hideTasksAndRequests:!0})]})})]})]})})});function Gf(e){return(e=e.replace("http://","").replace("https://","")).endsWith("/")&&(e=e.slice(0,-1)),e}function zf(e){let t=e.children,r=e.inProgress,n=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,Hf);const i=r?(0,W.jsx)(S.m,{overlay:"Test in progress",children:(0,W.jsx)("span",{"data-testid":"in-progress-indicator",style:{display:"flex"},children:(0,W.jsx)(mf.a,{className:"ml-1"})})}):null;return(0,W.jsxs)("h3",{className:"d-flex align-items-center",...n,children:[(0,W.jsx)("div",{className:"nowrap-ellipsis",children:t}),(0,W.jsx)("div",{children:i})]})}function qf(e){let t=e.visible,r=e.bulkEdit,n=e.pageLoad,i=e.excludeFromBulkUpdates,o=e.setExcludePageIdsFromBulkUpdates,a=e.excludePageIdsFromBulkUpdates,l=e.trends,s=e.perfSummary,d=e.layout,u=e.proposedChanges,m=e.project,p=e.view,g=e.info,h=e.onClickDelete,f=e.analyses,v=e.interval,b=e.firstComparisonRangeStart,x=e.firstComparisonRangeEnd,y=e.secondComparisonRangeStart,j=e.secondComparisonRangeEnd,w=e.maxTiming,S=e.inProgress,_=e.disableDragging,k=e.showTrends,C=e.displayIndex,A=e.noDataForMostRecentPeriodInAnyPageLoadTrend;const N=!!r&&!_;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("div",{"data-test-page-visible":t,className:"pageloads-table__row d-flex align-items-center d-print-avoid-break",style:N?{cursor:"grab"}:{},children:[r&&(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)("div",{style:{width:16,height:16,marginRight:10,marginLeft:4,..._?{cursor:"not-allowed"}:{}},title:_?"Disable sort by column to change the page order":"",children:(0,W.jsx)(df.t,{className:Ti()("d-block",{"color-grey3":!_,"color-grey4":_})})}),(0,W.jsx)("label",{style:{paddingLeft:5,paddingRight:15,paddingTop:20,paddingBottom:20,cursor:"grab",marginBottom:0},children:(0,W.jsx)("input",{type:"checkbox",className:"checkbox","data-test-exclude-page-from-bulk-updates":n.id,checked:!i,onChange:()=>{o(i?a.filter(e=>e!==n.id):[...a,n.id])}})})]}),(0,W.jsx)("div",{style:{flexGrow:1,minWidth:0},children:(0,W.jsx)(Wf,{displayIndex:C,trends:l,layout:d,proposedChanges:i?sv:u,pageLoad:n,perfSummary:null!=s?s:void 0,project:m,selectedView:p,selectedPageDetails:g,onClickDelete:h,timelineData:f.find(e=>
1e.analysisId===(null==s?void 0:s.analysisId)),interval:v,firstComparisonRangeStart:b,firstComparisonRangeEnd:x,secondComparisonRangeStart:y,secondComparisonRangeEnd:j,maxTiming:w,inProgress:S,isDraggable:N,showTrends:k,noDataForMostRecentPeriodInAnyPageLoadTrend:A})})]}),(0,c.v)().exampleFinder&&(0,W.jsx)(wd,{pageLoad:n,perfSummary:s,displayIndex:C})]})}function Xf(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Kf(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Kf(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Kf(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Yf=(0,B.memo)(function(e){let t=e.bulkEdit,r=e.allPagesSelected,n=e.handleClickOrderColumn,i=e.pageLoadsToShow,o=e.reverseOrder,a=e.orderByName,l=e.metrics,s=e.view,c=e.info,d=e.excludePageIdsFromBulkUpdates,u=e.proposedChanges,m=e.project,p=e.setExcludePageIdsFromBulkUpdates,g=e.onClickDelete,h=e.trends,f=e.interval,v=e.layout,b=e.firstComparisonRangeStart,y=e.firstComparisonRangeEnd,j=e.secondComparisonRangeStart,w=e.secondComparisonRangeEnd,S=e.inProgressPageLoadIds,_=e.onReorder,k=e.disableDragging,C=e.showTrends,A=e.filmstripZoom,N=void 0===A?"5000":A,I=e.latestPerfSummariesByPageLoadId;return(0,W.jsxs)("div",{children:["overview"===s&&(0,W.jsx)("div",{className:"row project-page-page-load__scores-heading-container",children:(0,W.jsxs)("div",{className:Ti()(`col project-page-page-load__scores-heading charts-count-${l.length}`,{"project-page-page-load__trends":C,"project-page-page-load__overview":"overview"===s,editing:t}),children:[(0,W.jsxs)("div",{children:[t&&(0,W.jsx)("div",{className:"deselect d-flex align-items-center",children:(0,W.jsxs)("label",{style:{cursor:"pointer",color:"#777",fontSize:12},children:[(0,W.jsx)("input",{type:"checkbox",className:"checkbox",style:{verticalAlign:"middle",marginLeft:5,marginRight:5},checked:r,onChange:()=>{p(r?i.map(e=>e.id):[])},"data-test-toggle-all":!0})," ",(0,W.jsx)("span",{style:{verticalAlign:"middle"},children:r?"Deselect All":"Select All"})]})}),!t&&(0,W.jsxs)("div",{className:"pageloads-table-header__metric-button",onClick:()=>n("name"),style:{minWidth:100,justifyContent:"left"},children:[(0,W.jsx)("span",{className:"pageloads-table-header__metric-title",children:"Page"}),(0,W.jsx)(Qf,{reverseOrder:o,show:"name"===a})]})]}),l.map(e=>{const t=e.shortTitle||e.title;return(0,W.jsxs)("span",{onClick:()=>{n(e.id)},className:"pageloads-table-header__metric-button",children:[(0,W.jsx)("div",{className:Ti()("pageloads-table-header__sort-indicator-container",{"pageloads-table-header__sort-indicator-container--sorted":a===e.id}),children:(0,W.jsx)(Qf,{reverseOrder:o,show:a===e.id})}),(0,W.jsx)("span",{className:Ti()("pageloads-table-header__metric-title",{"pageloads-table-header__metric-title--long":t.length>12}),children:t.replace(" (Total)","")}),e.tooltipContent&&(0,W.jsx)(x.c,{inheritColor:!0,small:!0,style:{marginTop:-2},content:e.tooltipContent,href:e.tooltipHref})]},e.id)})]})}),(0,W.jsx)(Jf,{analysisIds:"filmstrip"===s?i.map(e=>{const t=null==I?void 0:I[e.id];return t&&t.analysisId}).filter(e=>!!e):[],layout:v,latestPerfSummariesByPageLoadId:I,pageLoadsToShow:i,excludePageIdsFromBulkUpdates:d,bulkEdit:t,trends:h,project:m,proposedChanges:u,view:s,info:c,onClickDelete:g,setExcludePageIdsFromBulkUpdates:p,interval:f,firstComparisonRangeStart:b,firstComparisonRangeEnd:y,secondComparisonRangeStart:j,secondComparisonRangeEnd:w,filmstripZoom:N,inProgressPageLoadIds:S,onReorder:_,disableDragging:k,showTrends:!!C})]})}),Jf=e=>{let t=e.analysisIds,r=e.pageLoadsToShow,n=e.latestPerfSummariesByPageLoadId,i=e.excludePageIdsFromBulkUpdates,o=e.bulkEdit,a=e.trends,l=e.proposedChanges,s=e.project,c=e.view,d=e.info,u=e.onClickDelete,m=e.setExcludePageIdsFromBulkUpdates,p=e.interval,g=e.layout,h=e.firstComparisonRangeStart,f=e.firstComparisonRangeEnd,v=e.secondComparisonRangeStart,b=e.secondComparisonRangeEnd,x=e.filmstripZoom,y=e.inProgressPageLoadIds,j=e.onReorder,w=e.disableDragging,S=e.showTrends;const _=function(e){let t=e.analysisIds,r=e.dontLoadResult,n=void 0!==r&&r,i=e.dontLoadLhr,o=void 0!==i&&i;const a=(0,B.useRef)({}),l=(0,qh.u)(t.map(e=>({type:"analysis.filmstrip",id:e,propName:"analysis_"+e+"_filmstrip"}))),s=(0,qh.u)(n?[]:t.map(e=>({type:"analysis.result",id:e,propName:"analysis_"+e+"_result"}))),c=(0,qh.u)(o?[]:t.map(e=>({type:"analysis.lhr",id:e,propName:"analysis_"+e+"_lhr"}))),d=(0,B.useMemo)(()=>t.reduce((e,t)=>
1{const r=l[`analysis_${t}_filmstrip`];return r?Math.max((0,Xh.$L)({filmstrip:r}),e):e},1e3),[t.join(","),l]),u=(0,B.useMemo)(()=>t.map(e=>{const t=l[`analysis_${e}_filmstrip`],r=c[`analysis_${e}_lhr`]&&c[`analysis_${e}_lhr`].lhr;let n=s[`analysis_${e}_result`];return n&&(a.current[n.id]?n=a.current[n.id]:(n=(0,gd.XB)(n),a.current[n.id]=n)),{analysisId:e,filmstrip:t,result:n,lhr:r,loadingData:void 0===t||void 0===r&&!o,noData:Kh(t)}}),[t.join(","),l,s,c,n,o]);return u.forEach(e=>e.overallMaxTiming=d),u}({analysisIds:t,dontLoadLhr:!0,dontLoadResult:!0}),k=[],C=Xf(Bf(),1)[0],A=(0,zh.L)({zoomEnd:x,comparisonMode:"single"}).zoomEndMs,I=(0,B.useMemo)(()=>Object.values(null!=a?a:{}).every(e=>{const t=e.at(-1);return!t||Object.entries(t).filter(e=>{let t=Xf(e,1)[0];return"date"!==t&&"end"!==t}).every(e=>null===Xf(e,2)[1])}),[a]);r.forEach((e,t)=>{var r;const x=y.has(e.id),j=i.includes(e.id);k.push((0,W.jsx)(qf,{visible:!0,bulkEdit:o,pageLoad:e,excludeFromBulkUpdates:j,setExcludePageIdsFromBulkUpdates:m,excludePageIdsFromBulkUpdates:i,displayIndex:t,trends:a,layout:g,proposedChanges:l,perfSummary:null!==(r=null==n?void 0:n[e.id])&&void 0!==r?r:null,project:s,view:c,info:d,onClickDelete:u,analyses:_,interval:p,firstComparisonRangeStart:h,firstComparisonRangeEnd:f,secondComparisonRangeStart:v,secondComparisonRangeEnd:b,maxTiming:A,inProgress:x,disableDragging:w,showTrends:S,noDataForMostRecentPeriodInAnyPageLoadTrend:I},e.id))});const D=cf(d,s);if(r.length>1&&!o&&"overview"===c&&a&&!(0,oe.FG)(p)){const e=r.map(e=>e.id),t=a[e[0]];if(t){let i=t.map(e=>({date:e.date,end:e.end})).map((t,r)=>{let n={};return D.map(t=>{const i=e.map(e=>{const n=a[e];return n?n[r][t.id]:null}).filter(e=>"number"==typeof e);n[t.id]=0===i.length?null:"median"===C?(0,N.r9)(i):(0,T.mean)(i)}),{...t,...n}});k.push((0,W.jsx)("div",{className:"d-flex align-items-center report-score-box",children:(0,W.jsx)("div",{style:{flexGrow:1,minWidth:0},children:(0,W.jsx)("div",{className:"pageloads-table__item",children:(0,W.jsx)("div",{className:"row project-page-page-load",children:(0,W.jsxs)("div",{className:`col project-page-page-load__wrapper charts-count-${D.length} project-page-page-load__overview`,children:[(0,W.jsx)("div",{className:"project-page-page-load__page-container color-coldGrey1",children:(0,W.jsxs)("div",{className:" d-flex align-item-center",style:{lineHeight:"1em"},children:["median"===C?(0,W.jsx)(cg.K,{}):(0,W.jsx)(bs.G,{}),(0,W.jsx)("div",{className:"ml-2",children:"median"===C?"Median":"Average"})]})}),D.map(t=>{const o=r.map(e=>(null==n?void 0:n[e.id])&&t.getValue(n[e.id])).filter(e=>"number"==typeof e),l=0===o.length?null:"median"===C?(0,N.r9)(o):(0,T.mean)(o),s=e.map(e=>{const r=((null==a?void 0:a[e])||[]).map(e=>e[t.id]).filter(e=>"number"==typeof e);return 0===r.length?null:"median"===C?(0,N.r9)(r):(0,T.sum)(r)/r.length}).filter(e=>"number"==typeof e);let c=0===s.length?null:"median"===C?(0,N.r9)(s):(0,T.sum)(s)/s.length;return"score"===t.dataType&&"number"==typeof c&&(c*=100),(0,W.jsxs)("div",{className:"project-page-page-load__metric",children:[(0,W.jsx)(of,{metric:t,values:i,formFactor:"mobile",interval:p,size:"full"===g?"tall":"normal",isOriginLevelCruxData:!1}),(0,W.jsx)(lf,{chartMetric:t,metricValue:"lastValue"===C?l:c,formFactor:"mobile"})]},t.id)})]})})})})},"average"))}}let P=o&&!w?Yh.ReactSortable:"div",F=o&&!w?{list:r,onEnd:j,setList:()=>{},forceFallback:!0}:{};return(0,W.jsx)(P,{...F,children:k})};function Qf(e){let t=e.reverseOrder;return e.show?t?(0,W.jsx)(Gh.D,{className:"pageloads-table-header__sort-indicator pageloads-table-header__sort-indicator--sorted"}):(0,W.jsx)(Hh.y,{className:"pageloads-table-header__sort-indicator pageloads-table-header__sort-indicator--sorted"}):(0,W.jsx)(Wh.v,{className:"pageloads-table-header__sort-indicator"})}function Zf(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ev(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ev(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ev(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const tv=(0,r(55382).Q)(()=>r.e(9148).then(r.bind(r,21758)),"BulkEditUI");function rv(e){var t;let r=e.bulkEdit,n=e.bulkEditMode,i=e.filmstripZoom,o=e.info,s=e.inProgressPageLoadIds,c=void 0===s?[]:s,d=e.interval,m=e.layout,p=e.onCancelBulkEdit,g=e.onClickOrderColumn,h=e.onReorder,f=e.orderBy,v=void 0===f?"":f,b=e.pageLoads,x=e.project,y=e.showProjectLoadingIndicator,j=e.trends,S=e.view;const _=(0,l.O)(),C=_.fetchProject,A=_.patchProjectState,N=Zf((0,B.useState)([]),2),I=N[0],T=N[1],D=Zf((0,B.useState)(sv),2),P=D[0],F=D[1],M=Zf((0,B.useState)(!1),2),O=M[0],L=M[1],E=(0,oe.oD)(d,S),R=E.comparisonRangeFrom,U=E.comparisonRangeTo,$=E.selectedRangeFrom,V=E.selectedRangeTo,H=(0,a.A)(e=>{var t;return null===(t=e.models.latestPerfSummariesForProject)||void 0===t?void 0:t[null==x?void 0:x.id.toString()]}),G=((0,Vh.v)(o,null!==(t=null==x?void 0:x.metricGroups)&&void 0!==t?t:[])||[]||[]).map(e=>(0,k.Hh)(e)).filter(e=>!!e),z=b.filter(e=>!I.includes(e.id)),q=b.length===z.length;(0,B.useEffect)(()=>{r||(T([]),F(sv))},[r]);const X=(0,B.useCallback)(e=>{confirm("Do you want to delete this page?\n\n"+e.name+"\n"+e.url)&&(A({id:x.id,pageLoads:x.pageLoads.filter(t=>t.id!==e.id)}),u.FH.deletePageLoad(e.id))},[x,A]),K=(0,B.useCallback)(e=>{let t;t=v===e?"-"+v:v==="-"+e?"":e,g(t)},[v,g]),Y=(0,B.useMemo)(()=>new Set(c),[c.join(",")]),J=v.replace("-",""),Q=v.startsWith("-");return(0,W.jsx)("div",{children:(0,W.jsxs)("div",{className:Ti()("pageloads-table",`pageloads-table--layout-${m}`,{"pageloads-table--dimmed":y}),"data-test-project-content":!0,children:[r&&(0,W.jsx)("div",{children:(0,W.jsx)(B.Suspense,{fallback:(0,W.jsx)("div",{style:{padding:15},children:(0,W.jsx)(w.y,{})}),children:(0,W.jsx)(tv,{onClickCancel:p,bulkUpdatePageLoads:z,project:x,proposedChanges:P,onClickBulkDelete:()=>{if(!confirm(`This will delete all ${z.length} selected pages. Are you sure?`))return;L(!0);const e=z.map(e=>e.id);u.FH.bulkDeletePageLoads(e).then(()=>{L(!1),C()})},onTransferredPages:()=>C(),onUpdateProposedChanges:F,isSaving:O,saveChanges:async e=>{L(!0);try{await u.FH.bulkUpdatePageLoads(e),F(sv),C()}finally{L(!1)}}})})}),(0,W.jsxs)("div",{children:[0===b.length&&(0,W.jsx)("div",{className:"p-3",children:b.length===x.pageLoads.length?(0,W.jsx)("div",{}):y?(0,W.jsx)(kt.v,{role:"status","aria-label":"Loading"}):(0,W.jsx)("div",{children:"No pages in this project match these filters."})}),b.length>0&&(0,W.jsx)(Yf,{trends:j,allPagesSelected:q,bulkEdit:n,filmstripZoom:i,handleClickOrderColumn:K,view:S,info:o,metrics:G,orderByName:J,pageLoadsToShow:b,reverseOrder:Q,setExcludePageIdsFromBulkUpdates:T,excludePageIdsFromBulkUpdates:I,project:x,proposedChanges:P,onClickDelete:X,interval:d,layout:m,firstComparisonRangeStart:R,firstComparisonRangeEnd:U,secondComparisonRangeStart:$,secondComparisonRangeEnd:V,inProgressPageLoadIds:Y,onReorder:h,disableDragging:!!v,showTrends:"overview"===S&&(0,oe.FG)(d),latestPerfSummariesByPageLoadId:H})]})]})})}r(16491);const nv=[];function iv(e,t,r){if(!t)return{filters:nv,activeFilter:void 0};const n=t.filter(t=>t.type===e);return{filters:n,activeFilter:n.find(e=>e.id===r)}}function ov(e,t){return"overview"===t&&e.startsWith("wk-")?"week":"overview"===t&&e.startsWith("mo-")?"month":"overview"!==t&&"recent"===e?"":e}function av(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return lv(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lv(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function lv(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const sv={addedAdvancedSettings:[],addedTags:[],maybeDelete:!1,name:"",removedAdvancedSettings:[],removedTags:[],testScheduleIds:[],url:""},cv=(e,t,r)=>{if((0,c.v)().info)return e;const n=null==t?void 0:t.defaultMetricGroup;if(n)return(0,N.v1)(n)?`group:${n}`:n;if(!t){const e=a.A.getState().userProjects.find(e=>e.id===r);if(null!=e&&e.defaultMetricGroup)return(0,N.v1)(e.defaultMetricGroup)?`group:${e.defaultMetricGroup}`:e.defaultMetricGroup}return localStorage.getItem("projectInfo")||e},dv=(e,t,r)=>["trends"+e,t,r].join("_"),uv=()=>{const e=document.querySelector(".project-page-page-load__scores-heading-container");e&&(0===e.getBoundingClientRect().y?e.classList.add("project-page-page-load__scores-heading--sticky"):e.classList.remove("project-page-page-load__scores-heading--sticky"))},mv=e=>{var t,r,n,i;const o=e.projectId,l=e.project,s=e.showProjectLoadingIndicator,m=e.view,p=e.info,g=e.pushUrlParams,h=e.queryParams,f=e.replaceUrlParams,v=e.orderBy,b=e.bulkEditMode,x=e.bulkEdit,S=e.showExportDialog,I=e.onCloseExportDialog,D=e.interval,P=e.layout,F=e.nNewPages,M=e.inProgressPageLoadIds,O=e.filterId,L=e.navigate,E=e.currentPage,R=e.updateProject,U=e.onTriggerTests,V=e.reloadProject,H=e.updateInProgressPageLoadIds,G=av((0,B.useState)("5000"),2),z=G[0],q=G[1];let X=null!==(t=null==l||null===(r=l.pageLoads)||void 0===r?void 0:r.length)&&void 0!==t?t:0;const K=(0,B.useRef)(null),Y=(0,B.useRef)({}),J=(0,B.useRef)(!1),Q=(0,oe.FG)(D),Z=av((0,B.useState)({}),2),ee=Z[0],te=Z[1],re=(0,B.useMemo)(()=>cv(p,l,o),[p,l,o]),ne=(0,B.useMemo)(()=>(0,Vh.v)(re,(null==l?void 0:l.metricGroups)||null)||null,[re,null==l?void 0:l.metricGroups]),ie="overview"===m&&Q,ae=(0,B.useCallback)(async()=>{let e,t=dv(m,re,D);if(!Y.current[t]){if(!J.current&&!(0,c.v)().info&&cv(p,l,o)!==p)return;if(ne&&0!==ne.length){if(ie){const r=(0,oe.oD)(D),n=r.selectedRangeFrom,i=r.selectedRangeTo,a=r.comparisonRangeFrom,l=r.comparisonRangeTo;e=await u.FH.getProjectComparisonTrends(o,a,l,n,i,ne),Y.current[t]=!0}else if("overview"===m){const r=(0,N.ku)(new Date,D);e=await u.FH.getProjectTrendsClickHouse(o,r,"med",ne,Intl.DateTimeFormat().resolvedOptions().timeZone),Y.current[t]=!0}else"filmstrip"===m&&(Y.current[t]=!0);(0,Ph.flushSync)(()=>{te(r=>({...r,[t]:e}))})}}},[ne,D,o,ie,m,p,re,l]),le=(0,B.useCallback)(()=>{if(!J.current&&l){if(!(0,c.v)().info){const e=cv(p,l,o);e!==p&&f({info:e})}J.current=!0}},[l,o,p]),se=(0,B.useCallback)(e=>{g({orderBy:e})},[g]),ce=(0,B.useCallback)(()=>{L(x?(0,_.Ao)(A.DS.projectUrl(o),{...(0,d.u)(),bulkEditMode:void 0,layout:void 0}):(0,_.O$)(A.DS.projectUrl(o,"bulkEdit"),{...(0,d.u)(),bulkEditMode:"basics",layout:"full",view:void 0,mode:void 0}))},[x,L,o]),de=(0,a.A)(e=>{var t,r;return null===(t=e.models.latestPerfSummariesForProject)||void 0===t?void 0:t[null!==(r=null==l?void 0:l.id.toString())&&void 0!==r?r:""]}),ue=Number(E||1),me=Number(O),pe=(0,B.useMemo)(()=>{var e;const t=((null==l?void 0:l.savedFilters.filter(e=>"lab"===e.type))||[]).find(e=>e.id===me);let r=(0,C.nF)(null!==(e=null==l?void 0:l.pageLoads)&&void 0!==e?e:[],hn(h,null==t?void 0:t.filters));const n="filmstrip"===m&&r.length>15;let i=x?1/0:n?15:200;const o=v.replace("-",""),a=v.startsWith("-"),s=(0,T.sortBy)(r,e=>{if(!o)return e.order;if("name"===o)return e.name.toLowerCase();if("created"===o)return new Date(e.createdAt).getTime();const t=(0,k.Hh)(o);if(!t)return console.error("orderby metric not found "+o),0;let r=a?-1/0:1/0;
1if("overview"===m&&Q){const n=Oh(ee[dv(m,re,D)],e.id,t.id).delta;return console.log(e.id,"number"!=typeof n||Number.isNaN(n)?r:n),"number"==typeof n?n:r}const n=null==de?void 0:de[e.id];if(!n)return r;let i;return i=t.getValue(n),"number"!=typeof i?r:i}),c=function(e,t,r,n){let i=e;if(Number.isFinite(r)&&e.length>=r){const o=n?Math.max(0,e.length-t*r):(t-1)*r,a=n?Math.max(0,e.length-(t-1)*r):t*r;i=e.slice(o,a)}return n?i.reverse():i}(s,ue,i,a);return{filteredPageLoads:r,displayOrderedPageLoads:a?[...s].reverse():s,pageCount:Math.ceil(r.length/i),pageLoadsOnThisPage:c,rpp:i,limitFilmstripData:n}},[x,ue,me,D,de,v,null==l?void 0:l.pageLoads,null==l?void 0:l.savedFilters,h,ee,m,Q,re]),ge=pe.filteredPageLoads,he=pe.displayOrderedPageLoads,fe=pe.pageLoadsOnThisPage,ve=pe.pageCount,be=pe.limitFilmstripData;X=ge.length;const xe=(0,B.useCallback)(e=>{if(!l||!l.pageLoads)return;const t=e.oldIndex,r=e.newIndex;if(t===r)return;const n=(0,T.sortBy)(l.pageLoads,["order"]),i=n[t];let o=null,a=null;r>t?(o=0===r?null:n[r],a=r===n.length?null:n[r+1]):(o=0===r?null:n[r-1],a=r===n.length?null:n[r]);let s=0;o&&a?s=(o.order+a.order)/2:o?s=o.order+1:a&&(s=a.order-1),s+=Math.random()/1e7;const c=(0,T.sortBy)(n.map((e,r)=>r!==t?e:{...e,order:s}),["order"]);R({id:l.id,pageLoads:c}),u.FH.updatePageLoad(i.id,{order:s})},[l,R]);(0,B.useEffect)(()=>{document.addEventListener("scroll",uv);const e=document.querySelector("#project-pages-search-box");e&&requestIdleCallback(()=>{e.focus()},{timeout:1e3});const t=((e,t,r)=>{const n={},i=localStorage.getItem("trendsInterval");i&&(0,oe.Wd)(i)?localStorage.removeItem("trendsInterval"):i&&e!==i&&!(0,c.v)().interval&&(n.interval=ov(i,t));const o=n.interval||e,a=ov(o,n.view||t);o!==a&&(n.interval=a);const l=localStorage.getItem("projectLayout");return l&&r!==l&&!(0,c.v)().layout&&(n.layout=l),"trends"===t&&(n.view="overview"),"charts"===t&&(n.view="overview"),n})(D,m,P);return Object.keys(t).length>0?f(t):ae(),le(),setTimeout(()=>{u.FH.trackProjectAccess(o)},window.Cypress||window.isDebugBearEndToEndTest?0:2e3),u.FH.getLatestPerfSummariesForProject(o),()=>{document.removeEventListener("scroll",uv)}},[]),(0,B.useEffect)(()=>{ae()},[ae]);const ye=(0,B.useRef)(null);(0,B.useEffect)(()=>{var e;if((null==l?void 0:l.id)!==ye.current&&l){const e={};if(p.startsWith("group")){const t=parseInt(p.replace("group:",""));((null==l?void 0:l.metricGroups)||[]).find(e=>e.id===t)||(e.info="performance")}le(),Object.keys(e).length>0&&f(e)}ye.current=null!==(e=null==l?void 0:l.id)&&void 0!==e?e:null},[null==l?void 0:l.id,null==l?void 0:l.metricGroups,p,le]);const je=(0,B.useRef)();(0,B.useEffect)(()=>{var e,t,r;je.current!==h.search&&!h.search&&K.current&&(K.current.value=null!==(r=h.search)&&void 0!==r?r:""),je.current=Array.isArray(h.search)?null!==(e=h.search[0])&&void 0!==e?e:void 0:null!==(t=h.search)&&void 0!==t?t:void 0},[h.search]);const we=(0,B.useRef)();(0,B.useEffect)(()=>{if(we.current!==O&&K.current&&""===K.current.value){const e=iv("lab",null==l?void 0:l.savedFilters,Number(O)).activeFilter;if(null!=e&&e.filters.search&&K.current.value!==e.filters.search){const t=Array.isArray(e.filters.search)?e.filters.search[0]:e.filters.search;K.current.value=t?String(t):""}}we.current=O},[O,null==l?void 0:l.savedFilters]);const Se=parseInt(F),_e=(null==l?void 0:l.savedFilters.filter(e=>"lab"===e.type))||[],ke=_e.find(e=>e.id===me),Ce=l&&Se?Se===(null===(n=l.pageLoads)||void 0===n?void 0:n.length)?(0,W.jsx)(Fh,{projectId:o,newPagesCount:Se}):(0,W.jsx)("div",{className:"p-3 bg-grey6",children:(0,W.jsxs)("div",{className:"p-2 rounded-8 d-flex bg-green2-01",style:{border:"1px solid var(--green2)"},children:[(0,W.jsx)(Dh.y,{className:"mt-1 mr-2 color-green2"}),(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{className:"color-green1 font-weight-500",children:["Page",Se>1&&"s"," set up"]}),(0,W.jsx)("div",{className:"color-grey3 scale-base",children:"It may take up to 5 minutes to see results."})]})]})}):null,Ae=null==l||null===(i=l.billingCustomer)||void 0===i?void 0:i.usagePeriod,Ne=(null==Ae?void 0:Ae.analysisCount)&&Ae.analysisCount>=Ae.analysisLimit?(0,W.jsxs)("div",{className:"alert alert-warning mb-0",children:["You've run ",(0,N.Ke)(Ae.analysisCount)," tests this month, but your subscription only includes"," ",(0,N.Ke)(Ae.analysisLimit)," tests."]},"tests-quota-warning"):null;return(0,W.jsxs)("div",{"data-test-project-pages":!0,children:[S&&l&&(0,W.jsx)($h,{onClose:()=>{I()},projectId:o,pageLoadIdsToExport:he.map(e=>e.id),totalPagesCount:l.pageLoads.length,trendMetrics:ie&&ne||void 0,view:m,interval:D}),Ne,Ce,(0,W.jsx)(Uf,{handleBulkEditClick:ce,info:re,layout:P,project:null!=l?l:void 0,projectId:o,pushUrlParams:g,searchInputRef:e=>{K.current=e},triggerUI:U?(0,W.jsx)(Ih.h,{title:`Test ${X} Page${1===X?"":"s"} Now`,retriggerTitle:`Test ${X} Page${1===X?"":"s"} Now`,triggeringMessage:"Triggering tests",finishedMessage:"Tests finished",triggerFn:async()=>{X>
1200&&!confirm(`Do you want to trigger tests for ${X} pages?`)||await U()},fetchInProgressFn:e=>u.FH.getProjectInProgressAnalyses(o,e),reloadFn:async()=>{u.FH.getLatestPerfSummariesForProject(o),await(null==V?void 0:V())},onInProgressChange:e=>null==H?void 0:H(e)}):void 0,queryParams:h,replaceUrlParams:f,savedFilters:_e,savedFilter:ke,searchInput:K.current,view:m,interval:D}),(0,W.jsx)(pr.B,{project:l,addPadding:!0,noteText:null==l?void 0:l.name}),l&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Eh,{project:l}),l.pageLoads.length>0&&(0,W.jsxs)("div",{className:"px-3",children:["filmstrip"===m&&(0,W.jsxs)("div",{className:"d-flex align-items-center mt-3 mb-2",children:[(0,W.jsx)("span",{className:"color-coldGrey1 scale-small-1 mr-2",children:"Timeline End"}),(0,W.jsx)(_h.I,{comparisonMode:"single",onChange:q,zoomEnd:z})]}),(0,W.jsxs)(j.U5,{padded:!1,children:[(0,W.jsx)(rv,{bulkEdit:x,bulkEditMode:b,filmstripZoom:z,info:re,inProgressPageLoadIds:M,interval:D,layout:P,onCancelBulkEdit:()=>{L((0,_.Ao)(A.DS.projectUrl(o),{...(0,d.u)(),bulkEditMode:void 0,layout:void 0}))},onClickOrderColumn:se,onReorder:xe,orderBy:v,limitFilmstripData:be,pageLoads:fe,project:null!=l?l:void 0,showProjectLoadingIndicator:s,trends:ee[dv(m,re,D)],view:m}),ve>1&&(0,W.jsx)("div",{style:{padding:15,paddingTop:15},className:"d-flex align-items-center justify-content-between d-print-none",children:(0,W.jsx)(Nh,{pageCount:ve,currentPage:ue,onClickNext:()=>{g({currentPage:String(Math.min(ve,ue+1))}),setTimeout(()=>{window.scrollTo({top:0})},100)},onClickPrevious:()=>{g({currentPage:String(Math.max(1,ue-1))}),setTimeout(()=>{window.scrollTo({top:0})},100)}})})]}),l.canEdit&&!x&&(0,W.jsx)("div",{className:"mt-3 d-print-none d-flex align-items-center justify-content-between",children:(0,W.jsxs)($.N_,{to:A.DS.projectAddPageLoad(o),className:"btn btn-primary d-inline-flex align-items-center","data-test-add-page-load":!0,
1children:[(0,W.jsx)(y.c,{strokeWidth:1.7}),(0,W.jsx)("span",{className:"ml-2",children:"Add Page"})]})}),(0,W.jsx)(Th.U,{project:l})]}),!s&&(0,W.jsx)(Uu.JV,{projectId:o,project:l})]}),!l&&(0,W.jsx)("div",{children:(0,W.jsx)(w.y,{})}),(0,W.jsx)("br",{}),(0,W.jsx)("br",{})]})};var pv=r(98076),gv=r(95171),hv=r(38798),fv=r(78483);function vv(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return bv(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?bv(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bv(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function xv(e){var t,r;let n=e.project,i=e.projectId;const o=vv((0,V.t)("device","mobile"),2),l=o[0],s=o[1];(0,B.useEffect)(()=>{u.FH.getLatestPerfSummariesForProject(i)},[i]);let c=jv(n);const d=(0,a.A)(e=>{var t;return null===(t=e.models.latestPerfSummariesForProject)||void 0===t?void 0:t[null==n?void 0:n.id.toString()]}),m=null===(t=n.pageLoads)||void 0===t?void 0:t.filter(e=>e.device.formFactor===l);return(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"mt-3 mb-2",children:c}),(0,W.jsx)("div",{className:"mr-2",children:(0,W.jsx)(Ur,{excludeAll:!0,currentDeviceType:l,onSelectDeviceType:e=>s(e||void 0)})}),"Filters match ",null==m?void 0:m.length," pages out of"," ",null==n||null===(r=n.pageLoads)||void 0===r?void 0:r.length," pages.",(0,W.jsx)(gv.F,{title:"Lab Tests"}),"todo: Don't use CWV breakdown for lab page counts",(0,W.jsx)("br",{}),"Indicate that average is used to calculate the number",(0,W.jsx)("br",{}),"Tooltip show N good pages, N ok pages, N poor pages",(0,W.jsx)(Sv,{device:l,matchingPages:m,latestPerfSummariesByPageLoadId:d}),(0,W.jsx)(gv.F,{title:"Google CrUX Data"}),(0,W.jsx)(yv,{device:l,project:n,latestPerfSummariesByPageLoadId:d,domain:jv(n)}),(0,W.jsx)(gv.F,{title:"Real User Monitoring"}),(0,W.jsx)(wv,{device:l,project:n})]})}function yv(e){var t;let r=e.latestPerfSummariesByPageLoadId,n=e.project,i=e.device,o=e.domain;if(!r||!n)return(0,W.jsx)(w.y,{});const a=null===(t=n.pageLoads)||void 0===t?void 0:t.find(e=>{var t,n;return e.device.formFactor===i&&new URL(e.url).hostname===o&&(null==r||null===(t=r[e.id.toString()])||void 0===t||null===(t=t.crux)||void 0===t?void 0:t.origin)&&Object.keys((null==r||null===(n=r[e.id.toString()])||void 0===n||null===(n=n.crux)||void 0===n?void 0:n.origin)||{}).length>0});if(!a)return(0,W.jsx)("div",{children:"No matching info found."});const l=r[a.id.toString()];return(0,W.jsx)("div",{className:"row",children:["lcp","inp","cls"].map(e=>{var t,r,n,o;const a=null==l||null===(t=l.crux)||void 0===t||null===(t=t.origin)||void 0===t||null===(t=t[e])||void 0===t?void 0:t.p75,s=(0,k.Hh)(`crux.origin.${e}.p75`),c=(null==l||null===(r=l.crux)||void 0===r||null===(r=r.origin)||void 0===r||null===(r=r[e])||void 0===r?void 0:r.good)||0,d=(null==l||null===(n=l.crux)||void 0===n||null===(n=n.origin)||void 0===n||null===(n=n[e])||void 0===n?void 0:n.ok)||0,u=(null==l||null===(o=l.crux)||void 0===o||null===(o=o.origin)||void 0===o||null===(o=o[e])||void 0===o?void 0:o.bad)||0;return(0,W.jsx)("div",{className:"col-md-4",children:(0,W.jsx)(ng.b,{value:a,dataType:s.dataType,isComparison:!1,title:s.title.replace(" — Origin",""),rating:s.getRating(a,i),children:(0,W.jsx)(bu.bJ,{percentages:[100*c,100*d,100*u],title:s.title})})},e)})})}function jv(e){let t=null;if(e){const r=(0,T.groupBy)(e.pageLoads,e=>new URL(e.url).hostname);let n=0;
1Object.entries(r).forEach(e=>{let r=vv(e,2),i=r[0],o=r[1];o.length>n&&(n=o.length,t=i)})}return t}function wv(e){let t=e.project,r=e.device;if(!t)return(0,W.jsx)(w.y,{});const n=(0,oe.oD)("1mo");let i={from:n.selectedRangeFrom,to:n.selectedRangeTo};const o={device:r};let a="";return a+="?interval="+(0,ye.vo)(i)+"&dateUnit="+(0,N.pP)(i.from,i.to)+"&timezone="+encodeURIComponent(Intl.DateTimeFormat().resolvedOptions().timeZone),a=(0,_.Ao)(a,{...o,stat:"p75",pvTab:void 0}),(0,W.jsx)(Or.u.Provider,{value:{project:t,stat:"p75",setStat:()=>{throw Error("not supported")},selectionSearch:a,comparisonSearch:"",filterSettings:(0,fr.y)([],hv.A.parse(a,{arrayFormat:"bracket"})),removeFilter:function(){throw Error("not supported")},addFilter:function(){throw Error("not supported")},applySavedFilter:function(){},getUrlWithAddedFilters:null,getUrlWithOnlyFilters:null,getRumMetricDashboardLink:function(e){return(0,_.Ao)(A.DS.projectRumUrl(t.id,e),o)},clearFilters:null,rumSavedFilters:null,saveAsNewFilter:null,selectedSavedFilter:null,hasNonDeviceFilters:!1,setFilters:null,updateSavedFilter:null},children:(0,W.jsx)(fv.A0,{})})}function Sv(e){let t=e.device,r=e.matchingPages,n=e.latestPerfSummariesByPageLoadId;return r&&n?(0,W.jsx)("div",{className:"row",children:["largestContentfulPaint","cumulativeLayoutShift","totalBlockingTime"].map(e=>{const i=(0,k.Hh)(e),o=(0,T.groupBy)(r,e=>{const r=null==n?void 0:n[e.id.toString()];if(!r)return"unknown";const o=i.getValue(r);return i.getRating(o,t)}),a=(o.pass||[]).length,l=(o.warn||[]).length,s=(o.poor||[]).length,c=a+l+s,d=r.map(e=>{const t=null==n?void 0:n[e.id.toString()];return t?i.getValue(t):null}).filter(e=>"number"==typeof e),u=(0,T.sum)(d)/d.length;return(0,W.jsx)("div",{className:"col-lg-4",children:(0,W.jsx)(ng.b,{title:i.title,dataType:i.dataType,isComparison:!1,value:u,rating:i.getRating(u,t),moreInfoContent:i.tooltipContent,moreInfoHref:i.tooltipHref,children:(0,W.jsx)(bu.bJ,{percentages:[a/c*100,l/c*100,s/c*100],title:i.title})})},e)})}):(0,W.jsx)(w.y,{})}var _v=r(20695),kv=r(32289),Cv={};function Av(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Nv(e){let t=e.projectId;const r=(0,vt.By)(t),n=(a=(0,B.useState)(null),l=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(a,l)||function(e,t){if(e){if("string"==typeof e)return Av(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Av(e,t):void 0}}(a,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=n[0],o=n[1];var a,l;(0,B.useEffect)(()=>{u.FH.getTeam(t).then(e=>o(e))},[t]);const s=i&&r;if(!r)return(0,W.jsx)(w.y,{});if(!r.canEdit)return(0,W.jsx)(j.U5,{children:"You don't have access to this team."});if(!s)return(0,W.jsx)(w.y,{});const c={marginTop:30},d=i.teams;return(0,W.jsxs)("div",{children:[(0,W.jsxs)(j.U5,{children:[(0,W.jsx)("h2",{children:"Teams"}),(0,W.jsx)("p",{children:"Grant edit or view access to groups of people."}),(0,W.jsx)("div",{style:{marginBottom:10},children:0===d.length?(0,W.jsx)("div",{children:"This project does not belong to any teams."}):(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{className:"row",style:{fontWeight:"bold"},children:[(0,W.jsx)("div",{className:"col-md-4",style:{paddingBottom:4},children:"Team"}),(0,W.jsx)("div",{className:"col-md-8",style:{paddingBottom:4},children:"Members"})]}),(0,W.jsx)("div",{"data-test-project-teams":!0,children:d.map(e=>{var t;return(0,W.jsxs)("div",{className:"team-table__item row",children:[(0,W.jsx)("div",{className:"col-md-4",children:e.name}),(0,W.jsx)("div",{className:"col-md-8",children:null===(t=e.members)||void 0===t?void 0:t.map(e=>{var t;return e.user?e.user.email:null===(t=e.invite)||void 0===t?void 0:t.email}).join(", ")})]},e.id)})})]})}),(0,W.jsx)("p",{children:(0,W.jsx)($.N_,{to:"/account/teams",className:"btn btn-primary btn-sm","data-test-configure-teams-button":!0,children:"Configure teams"})})]}),(0,W.jsxs)(j.U5,{children:[(0,W.jsx)("h2",{style:c,children:"Admins"}),(0,W.jsx)("p",{style:{marginBottom:0},children:"Grant access to all projects, billing, and user management."}),(0,W.jsxs)("p",{"data-test-project-team-admin-list":!0,style:{fontSize:13,color:"#777"},children:["Admins:"," ",i.members.filter(e=>"admin"===e.role).map(e=>
1e.email).join(", ")]}),r.canManageUsers&&(0,W.jsx)($.N_,{to:"/account/teams","data-test-manage-admins-link":!0,className:"btn btn-sm btn-primary",children:"Manage admins"})]}),(r.enableLegacyCollaborators&&i.members.filter(e=>"admin"!==e.role).length>0||location.href.includes("forceShowCollaborators"))&&(0,W.jsxs)(j.U5,{padded:!1,children:[(0,W.jsxs)("div",{className:"pt-3 pl-3",children:[(0,W.jsx)("h2",{style:c,children:"Collaborators"}),(0,W.jsx)("p",{children:"Grant edit access just to this project."})]}),(0,W.jsx)(Iv,{forWhat:"nonAdmins",project:r,team:i,setTeam:o})]})]})}function Iv(e){var t;let r=e.forWhat,n=e.project,i=e.team,o=e.setTeam;return(0,W.jsx)(_v.t,{forWhat:r,billingCustomerId:n.billingCustomerId,projectId:n.id,members:i.members.filter(e=>!("admins"===r&&"admin"!==e.role||"nonAdmins"===r&&"admin"===e.role)),canManageUsers:null!==(t=n.canManageUsers)&&void 0!==t&&t,onUserListUpdated:e=>{o({...i,members:e})}})}Cv.styleTagTransform=ve(),Cv.setAttributes=pe(),Cv.insert=ue().bind(null,"head"),Cv.domAPI=ce(),Cv.insertStyleElement=he(),le()(kv.A,Cv),kv.A&&kv.A.locals&&kv.A.locals;var Tv=r(68105),Dv=r(23131),Pv=r(25573),Fv=r.n(Pv),Mv=r(52346),Ov=r(7693),Lv=r(2211),Ev=r(87427),Rv=r(91137),Uv=r(50608);const Bv=["tab"];function $v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Vv(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Vv(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vv(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Hv(e){switch(e){case"config":return"Settings";case"stats":return"View Count";case"views":return"Page Views";case"trends":return"Web Vitals";case"more":return"More Metrics";default:return hr.KE.includes(e)?(0,hr.pg)(e):e[0].toLocaleUpperCase()+e.slice(1)}}const Wv=Object.entries({cls:"cls",config:"config",dcl:"dcl",engagement:"engagement",errorCount:"errorCount",errors:"errors",fcp:"fcp",fppwTotal:"fppwTotal",inp:"inp",inputDelay:"inputDelay",lcp:"lcp",lcpLoadDelay:"lcpLoadDelay",lcpLoadTime:"lcpLoadTime",lcpRenderDelay:"lcpRenderDelay",lcpCpuTime:"lcpCpuTime",load:"load",metric1:"metric1",metric2:"metric2",metric3:"metric3",metric4:"metric4",metric5:"metric5",more:"more",networkBandwidth:"networkBandwidth",networkRtt:"networkRtt",presentationDelay:"presentationDelay",processingTime:"processingTime",stats:"stats",trends:"trends",ttfb:"ttfb",ttfbDns:"ttfbDns",ttfbDownload:"ttfbDownload",ttfbRedirect:"ttfbRedirect",ttfbResponse:"ttfbResponse",ttfbSsl:"ttfbSsl",ttfbTcp:"ttfbTcp",ttfbWait:"ttfbWait",uncachedRatio:"uncachedRatio",views:"views",windowHeight:"windowHeight",windowWidth:"windowWidth",clsScrollTop:"clsScrollTop",inpPrimaryScriptDuration:"inpPrimaryScriptDuration",lcpScriptDuration:"lcpScriptDuration"}).map(e=>{let t=$v(e,2)[1];return{value:t,label:Hv(t)}}).filter(e=>"config"!==e.value),Gv=new Map(Wv.map(e=>[e.value,e])),zv=[{label:"Web Vitals",keys:["lcp","cls","inp","fcp","ttfb"]},{label:"Dashboards",keys:["trends","views","stats","engagement","errors","more"]},{label:"LCP Breakdown",keys:["lcpLoadDelay","lcpLoadTime","lcpRenderDelay","lcpCpuTime","lcpScriptDuration"]},{label:"INP Breakdown",keys:["inputDelay","processingTime","presentationDelay","inpPrimaryScriptDuration"]},{label:"TTFB Breakdown",keys:["ttfbDns","ttfbTcp","ttfbSsl","ttfbWait","ttfbResponse","ttfbDownload","ttfbRedirect"]},{label:"Network",keys:["networkRtt","networkBandwidth"]},{label:"Other Metrics",keys:["load","dcl","fppwTotal","windowWidth","windowHeight","clsScrollTop","uncachedRatio","metric1","metric2","metric3","metric4","metric5"]}].map(e=>({label:e.label,options:e.keys.map(e=>Gv.get(e)).filter(e=>!!e&&"errorCount"!==e.value)})).filter(e=>e.options.length>0);function qv(e){let t=e.currentPage,r=e.onPageSelected;const n=$v((0,B.useState)(""),2),i=n[0],o=n[1],a=$v((0,B.useState)(!1),2),l=a[0],s=a[1],c=(0,B.useContext)(wu.B).isDarkMode,d=$v((0,B.useState)({page:t,pageSetTime:Date.now()}),2),u=d[0],m=d[1],p=(0,B.useCallback)(e=>{let t=e.value;m(e=>e.page!==t?{page:t,pageSetTime:Date.now()}:e),r(t)},[r]),g=(0,B.useCallback)(()=>s(!1),[]),h=Wv.filter(e=>"errorCount"!==e.value);let f=i?(0,T.sortBy)(h,e=>e.label.toLowerCase().startsWith(i.toLowerCase())?-2:e.label.toLowerCase().includes(i.toLowerCase())?-1:0):zv;const v=(0,B.useCallback)(function(e){const t={stroke:c?"#ffffff"
1:"#000000",fill:"none"};return(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)(Xv,{style:t,tab:e.value}),(0,W.jsx)("span",{className:"pl-2",children:e.label})]})},[c]),b=Date.now()-u.pageSetTime>500?t:u.page;return(0,W.jsx)(W.Fragment,{children:l?(0,W.jsx)(Ee.L,{options:f,onInputChange:e=>o(e),width:350,isLoading:!1,placeholder:"Search rum views…",isSelected:e=>e.value===b,onSelect:p,onClose:g,formatOption:v}):(0,W.jsxs)("div",{className:"crumbs__item",onClick:()=>s(!0),children:[(0,W.jsx)("div",{className:"d-flex align-items-center",children:(0,W.jsx)(Xv,{tab:b})}),(0,W.jsx)("span",{className:"pl-2",children:Hv(b)}),(0,W.jsx)(Ee.Y,{})]})})}function Xv(e){let t=e.tab,r=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,Bv);switch(t){case"views":return(0,W.jsx)(Lv.p,{...r,fill:"currentColor"});case"trends":return(0,W.jsx)(Ov.n,{...r,fill:"currentColor"});case"engagement":return(0,W.jsx)(Rv.d,{...r,fill:"currentColor"});case"errors":return(0,W.jsx)(Bo.I,{...r,stroke:"currentColor"});case"more":return(0,W.jsx)(Ev.X,{...r,fill:"currentColor"});case"stats":return(0,W.jsx)(Mv.E,{...r,fill:"currentColor"});case"config":return(0,W.jsx)(um.L,{...r,fill:"currentColor"});default:return(0,W.jsx)(Uv.sG,{groupBy:t,size:16,...r})}}function Kv(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Yv(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Yv(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Yv(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Jv={value:-1,label:"Dashboard",url:"",kind:"list"},Qv={value:-2,label:"Add New Monitor",url:"",kind:"add"};function Zv(e){return{value:e.id,label:e.name||e.url,url:e.url,kind:"monitor"}}function eb(e){switch(e.kind){case"list":return(0,W.jsx)(xs.k,{size:14,strokeWidth:1.2});case"add":return(0,W.jsx)(y.c,{size:14,strokeWidth:1.2});default:return(0,W.jsx)(ff.O,{size:14})}}function tb(e){let t=e.projectId,r=e.currentMonitorId,n=e.isAddView,i=void 0!==n&&n,o=e.onMonitorSelected,a=e.onShowList,l=e.onAddMonitor;const s=Kv((0,B.useState)([]),2),c=s[0],d=s[1],m=Kv((0,B.useState)(!0),2),p=m[0],g=m[1],h=Kv((0,B.useState)(!1),2),f=h[0],v=h[1],b=Kv((0,B.useState)(""),2),x=b[0],y=b[1];(0,B.useEffect)(()=>{let e=!1;return g(!0),u.FH.getUptimeMonitorList(t).then(t=>{e||(d(t),g(!1))}).catch(()=>{e||g(!1)}),()=>{e=!0}},[t]);const j=(0,B.useCallback)(e=>{v(!1),-1===e.value?a():-2===e.value?l():e.value!==r&&o(e.value)},[r,o,a,l]),w=(0,B.useCallback)(()=>v(!1),[]),S=c.find(e=>e.id===r),_=i?"add":null==r?"list":"monitor",k=i?Qv.label:null==r?Jv.label:S?S.name||S.url:`Monitor ${r}`,C=i?-2:null!=r?r:-1,A=c.map(Zv),N=x?(0,T.sortBy)(A,e=>{const t=e.label.toLowerCase(),r=x.toLowerCase();return t.startsWith(r)?-2:t.includes(r)?-1:0}):A,I=[Jv,...N,Qv],D=(0,B.useCallback)(e=>(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)(eb,{kind:e.kind}),(0,W.jsx)("span",{className:"pl-2 nowrap-ellipsis",children:e.label})]}),[]);return f?(0,W.jsx)(Ee.L,{options:I,onInputChange:e=>y(e),width:320,isLoading:p,placeholder:"Search monitors…",isSelected:e=>e.value===C,onSelect:j,onClose:w,formatOption:D}):(0,W.jsxs)("div",{className:"crumbs__item",onClick:()=>v(!0),children:[(0,W.jsx)("div",{className:"d-flex align-items-center",children:(0,W.jsx)(eb,{kind:_})}),(0,W.jsx)("span",{className:"pl-2 nowrap-ellipsis",children:k}),(0,W.jsx)(Ee.Y,{})]})}function rb(e){let t=e.isCreatingNewPage,r=e.isInWebsiteScanResult,n=e.project,i=e.projectId,o=e.selectedSubItem,a=e.selectedTabName,l=e.tab,s=e.navigate,u=e.useProjectName,m=e.uptimeMonitorId,p=e.isUptimeListView,g=e.isUptimeNewView,h=A.DS.projectUrl(i);h=(0,_.O$)(h,{interval:(0,c.v)().interval}),null!=n&&n.defaultMetricGroup&&(h=(0,_.O$)(h,{info:n.defaultMetricGroup}));let f=[{title:u&&null!=n&&n.name?n.name:(0,W.jsx)(Dv.f,{size:18,style:{margin:"3px"}}),href:h}];const v=(0,W.jsx)(Tv.J,{icon:(0,W.jsx)(um.L,{strokeWidth:1.2}),title:"Project Settings"}),b=Fv()(()=>String(i),e=>s(A.DS.projectRumUrl(i,e,(0,d.u)())));return"integrations"===a?f.push({title:"Integrations",href:A.DS.projectUrl(i,"integrations")}):"metricGroups"===a||"labSettings"===a?(f.push({title:"Lab Settings",href:A.DS.projectUrl(i,"labSettings")}),"metricGroups"===a&&f.push({title:"Edit Metric Group"})):"rum"===a?(f.push({title:(0,W.jsx)(Tv.J,{icon:(0,W.jsx)(Ro.k,{strokeWidth:1.2}),title:"RUM"}),href:A.DS.projectUrl(i,"rum")}
1),f.push({classNames:{crumbs__item:!1},title:(0,W.jsx)(qv,{currentPage:o,onPageSelected:b})})):"uptime"===a?(f.push({title:(0,W.jsx)(Tv.J,{icon:(0,W.jsx)(gm.Z,{strokeWidth:1.2}),title:"Uptime"}),href:(0,_.O$)(A.DS.projectUrl(i,"uptime"),{interval:(0,c.v)().interval})}),(null!=m||p||g)&&f.push({classNames:{crumbs__item:!1},title:(0,W.jsx)(tb,{projectId:i,currentMonitorId:null!=m?m:null,isAddView:g,onMonitorSelected:e=>s((0,_.O$)(`${A.DS.projectUrl(i,"uptime")}/${e}`,{interval:(0,c.v)().interval})),onShowList:()=>s((0,_.O$)(A.DS.projectUrl(i,"uptime"),{interval:(0,c.v)().interval})),onAddMonitor:()=>s(`${A.DS.projectUrl(i,"uptime")}/new`)})})):l&&f.push({title:"Page Speed"===l.title?(0,W.jsx)(Tv.J,{icon:(0,W.jsx)(xs.k,{strokeWidth:1.2}),title:"Page Speed"}):"CrUX Trends"===l.title?(0,W.jsx)(Tv.J,{icon:(0,W.jsx)(vs.K,{strokeWidth:1.2}),title:"CrUX Trends"}):"Custom Dashboards"===l.title?(0,W.jsx)(Tv.J,{icon:(0,W.jsx)(js.C,{strokeWidth:1.2}),title:"Custom Dashboards"}):"Project Settings"===l.title?v:l.title,href:A.DS.projectUrl(i,"scan"===a?"":a)}),t?f.push({title:"New Page",href:A.DS.projectAddPageLoad(null==n?void 0:n.id)}):r&&(f.push({title:"Website Scan",href:A.DS.projectAddPageLoad(null==n?void 0:n.id,{mode:"scan"})}),f.push({title:"Scan Result"})),f}var nb=r(44683),ib=r(58634),ob=r(19664),ab=r(29898),lb=r(46508),sb=r(80426),cb=r(86115),db=r(17590),ub=r(97904),mb=r(11473),pb=r(65699),gb=r(14883),hb=r(48385),fb=r(65899);const vb=[{title:"Web Vitals",name:"trends",icon:(0,W.jsx)(Ov.n,{strokeWidth:1.2}),end:!1},{title:"LCP",name:"lcp",icon:(0,W.jsx)(ub.I,{strokeWidth:1.2}),end:!1,indent:!0},{title:"CLS",name:"cls",icon:(0,W.jsx)(ab.O,{strokeWidth:1.2}),end:!1,indent:!0},{title:"INP",name:"inp",icon:(0,W.jsx)(ob.S,{strokeWidth:1.2}),end:!1,indent:!0},{title:"More Metrics",name:"more",icon:(0,W.jsx)(Ev.X,{strokeWidth:1.2})},{title:"TTFB",name:"ttfb",icon:(0,W.jsx)(gb.R,{strokeWidth:1.2}),end:!1,indent:!0},{title:"FCP",name:"fcp",icon:(0,W.jsx)(db.A,{strokeWidth:1.2}),end:!1,indent:!0},{title:"Conversions",name:"engagement",icon:(0,W.jsx)(Rv.d,{strokeWidth:1.2})},{title:"Errors",name:"errors",icon:(0,W.jsx)(Bo.I,{strokeWidth:1.2}),condition:e=>!(null==e||!e.errorTrackingEnabled),end:!1},{title:"View Count",name:"stats",icon:(0,W.jsx)(Mv.E,{strokeWidth:1.2}),end:!1},{title:"Settings",name:"config",icon:(0,W.jsx)(um.L,{strokeWidth:1.2}),end:!1}];var bb=r(27867),xb=r(67456);function yb(e){let t=e.omitStatTypes,r=void 0===t?new Set(["sum"]):t;const n=(0,Or.n)(),i=n.stat,o=n.setStat;return(0,W.jsxs)(vo.r,{title:"View",background:"light",Trigger:e=>{let t=e.onClick;return(0,W.jsx)(ur.K,{icon:"config",onClick:t,className:"opacity-0.5 hover:opacity-1","aria-label":"View options"})},grayOptionVariant:!0,children:[(0,W.jsxs)("div",{className:"p-3",style:{width:261},children:[(0,W.jsx)("label",{className:"scale-small-1 color-coldGrey1",children:"Statistic to show"}),(0,W.jsx)(Va,{currentAggregationFunctions:[i],onClick:e=>o(e),omitStatTypes:r,uiBehaviour:"radio"})]}),(0,W.jsx)("div",{className:"px-3 pb-3",style:{borderTop:"1px solid #eee"},children:(0,W.jsx)("div",{className:"pt-3",children:(0,W.jsx)(xb.M,{})})})]})}var jb=r(8705),wb=r(95187),Sb={};function _b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return kb(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?kb(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kb(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Cb(e){let t=e.info,r=e.omitStatTypes,n=e.tab,i=e.viewOptions,o=e.hideDeviceSelector,a=e.externallyControlledFilters,l=void 0===a?new Set:a;const s=_b((0,B.useState)(null),2),c=s[0],d=s[1],u=_b((0,B.useState)(null),2),m=u[0],p=u[1],g=(0,B.useRef)(null),h=(0,Or.n)(),f=h.addFilter,v=h.applySavedFilter,b=h.filterSettings,x=h.removeFilter,y=h.saveAsNewFilter,j=h.updateSavedFilter,w=h.rumSavedFilters,S=h.project,_=h.selectedSavedFilter,k=h.clearFilters,C=h.hasNonDeviceFilters,A=b.device,N=b.propertyFilters,I=(0,B.useMemo)(()=>N.map(e=>e.filterName),[N]),T=N.filter(e=>"device"!==e.filterName),D=c?T.find(e=>e.filterName===c):null,P=(0,B.useCallback)(e=>{let t=e.filterName,r=e.filterValue,n=e.filterQueryType;const i=null==D?void 0:D.filterName;i&&i!==t&&x(i),f(t,r.map(e=>null==e?null:String(e)),n),d(null)},[f,x,null==D?void 0:D.filterName]),F=(0,B.useCallback)(()=>{d(null),p(null)},[]);return(0,W.jsxs)("div",{style:{marginLeft:"-15px",marginRight:"-15px",padding:"15px"},className:"top-section-border-bottom bg-grey7 d-print-none",children:[(0,W.jsxs)("div",{className:"rum-filters-not-metrics gap-xsm","data-testid":"rum-filters",children:[!
1o&&(0,W.jsx)(Ur,{onSelectDeviceType:e=>{f("device",e)},currentDeviceType:A||""}),(0,W.jsx)(wo,{savedFilters:w,savedFilter:_,onFilterSelected:v}),(0,W.jsx)(mi,{ref:g,"data-testid":"add-filter-button",onClick:()=>{d("__new__"),p(g.current)},children:"+ Add Filter"}),"views"!==n&&"stats"!==n&&"views"!==t&&(0,W.jsxs)("div",{className:"ml-auto d-flex align-items-center",children:[i,(0,W.jsx)(yb,{omitStatTypes:r})]})]}),c?(0,W.jsx)(ho,{project:S,dataDomain:"rum",filtersInUse:I,initialFilter:{attributeFilter:(null==D?void 0:D.filterName)||"",filterValue:cn(null==D?void 0:D.filterName,null==D?void 0:D.filterValue),filterQueryType:null==D?void 0:D.filterType},onApply:P,onCancel:F,anchorElement:m,externallyControlledFilters:l}):null,C&&(0,W.jsxs)("div",{className:"d-flex mt-3",children:[(0,W.jsx)(Eo,{project:S,filters:T,onDelete:e=>{x(e),c===e&&(d(null),p(null))},editingFilterName:c,onClickFilter:(e,t)=>{const r=c===e;d(r?null:e),p(r?null:t)}}),(0,W.jsxs)("div",{className:"d-flex ",children:[y&&j&&(0,W.jsx)(To,{savedFilter:_,onSaveNewFilter:async e=>{let t=e.name,r=e.closeDropdown;await y(t),r()},onUpdateFilter:async e=>{let t=e.closeDropdown;await j(),t()},canEditProject:S.canEdit}),(0,W.jsx)(mi,{"data-testid":"clear-filters-button",onClick:()=>{F(),k()},children:"Clear"})]}),(0,W.jsx)(Ab,{metricFilters:N,project:S,deviceFilter:A||""})]})]})}function Ab(e){let t=e.metricFilters,r=e.project,n=e.deviceFilter;const i=function(e){const t=e.find(e=>"urlPath"===e.filterName);return null!=t&&t.filterValue?Array.isArray(t.filterValue)?t.filterValue[0]:t.filterValue:""}(t),o=_b((0,jb.w)({blockComparisonRequests:!0,method:u.FH.getRumExperiences,getArgs:e=>[{snippetId:r.rumSnippet.id,count:1,query:(0,_.Ao)(e,{urlPath:i})}],additionalDependencies:[i]}),1)[0],a=null==o?void 0:o[0],l=i&&a?a.origin+i:null;return(0,W.jsx)("div",{className:"ml-auto","data-testid":"url-filter-links",children:l&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(S.m,{overlay:"View Lab Data",children:(0,W.jsx)("a",{href:`/viewOrAddPage/${r.id}?url=${encodeURIComponent(l)}&devicePreference=${n||""}`,className:"color-coldGrey1 mr-2 cursor-pointer",children:(0,W.jsx)(Uo.j,{})})}),(0,W.jsx)(S.m,{overlay:"Open page URL",children:(0,W.jsx)("a",{className:"color-coldGrey1 cursor-pointer",href:l,rel:"noreferrer nofollow",target:"_blank",children:(0,W.jsx)(bb.p,{})})})]})})}function Nb(e){let t=e.rumSnippet;if(!t||!location.hostname.includes("localhost"))return null;const r=document.querySelector('script[src*="local-cloud-storage"]');if(!r)return null;const n=r.src.match(/\/([a-zA-Z0-9]+).js/)[1];return n===t.key?null:(0,W.jsxs)("div",{className:"alert alert-warning mt-3",children:["The snippet for this project is different from the one that's installed on the dev server. (",n," vs ",t.key,")",(0,W.jsx)("br",{}),'Click "install snippet on localhost" in the config tab.']})}Sb.styleTagTransform=ve(),Sb.setAttributes=pe(),Sb.insert=ue().bind(null,"head"),Sb.domAPI=ce(),Sb.insertStyleElement=he(),le()(wb.A,Sb),wb.A&&wb.A.locals&&wb.A.locals;var Ib=r(6227),Tb={};Tb.styleTagTransform=ve(),Tb.setAttributes=pe(),Tb.insert=ue().bind(null,"head"),Tb.domAPI=ce(),Tb.insertStyleElement=he(),le()(Ib.A,Tb),Ib.A&&Ib.A.locals&&Ib.A.locals;var Db=r(30332),Pb=r(3338),Fb=r(89708),Mb=r(27419);function Ob(e,t){return t?(null!=e?e:0)/t:0}function Lb(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Eb(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Eb(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Eb(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Rb=e=>{let t=e.value,r=e.label;return(0,W.jsxs)("div",{className:"d-flex align-items-center",style:{lineHeight:"1em"},children:[t?(0,W.jsx)("div",{style:{height:16,marginRight:10},children:(0,W.jsx)(Uv.sG,{groupBy:t})}):null,(0,W.jsx)("div",{children:r})]})},Ub=e=>(0,W.jsx)(Yr.c.Option,{...e,children:(0,W.jsx)(Rb,{value:e.data.value,label:e.data.label})}),Bb=e=>(0,W.jsx)(Yr.c.SingleValue,{...e,children:(0,W.jsx)(Rb,{value:e.data.value,label:e.data.label})});function $b(e){var t;let r=e.rumMetric,n=e.breakdownTag,i=e.title,o=e.small,l=e.smallModeHref,s=e.aggregationLevel,c=void 0===s?"page":s;const d="session"===c?"sessions":"views",m=(0,a.A)(e=>e.highContrast),p=(0,Aa.D)(),g=(0,Or.n)(),h=g.comparisonSearch,f=g.addFilter,v=g.project,b=B.useContext(wu.B).isDarkMode,x=Lb((0,V.t)("histogramGroupBy",null,{useReplaceNavigation:!0}),2),y=x[0],w=x[1],S=Lb((0,V.t)("histogramCorrelate",null,{useReplaceNavigation:!0}),2),_=S[0],C=S[1],A=Lb(B.useState(null),2),I=A[0],D=A[1],P=o?null:y,F=o||n?null:_,M=Lb((0,jb.w)({method:"page"===c?u.FH.getRumMetricHistogram:u.FH.getRumSessionRelativeMetricHistogram,getArgs:e=>[{snippetId:v.rumSnippet.id,rumMetric:r,query:e,breakdownTag:n,groupBy:null!=P?P:void 0,correlateMetric:null!=F?F:void 0}],additionalDependencies:[r,n,c,P,F]}),3),O=M[0],L=M[1],E=M[2],R=o?h?150:93:350,U=(0,Or.n)().stat,$=Lb((0,jb.w)({method:u.FH.getRumStats,getArgs:e=>[{snippetId:v.rumSnippet.id,query:e,metrics:[r]}],additionalDependencies:[U,v.id]}),2),H=$[0],G=$[1];let z=null;var q,X;O&&"loading"!==E.comparison&&(z=function(e){let t=e.data,r=e.rumMetric,n=e.addFilter,i=e.breakdownTag,o=e.small,a=e.height,l=e.rumSnippet,s=e.isDarkMode,c=e.highContrast,d=e.stat,u=e.value,m=e.compValue,p=e.darkMode,g=e.aggregationLevel,h=e.groupBy,f=e.correlateMetric;const v="session"===g?"Sessions":"Views",b=2===t.length,x=[(0,N.cz)(t[0].map(e=>e.count)),b?(0,N.cz)(t[1].map(e=>e.count)):0],y=[(0,Ca.p)("count",!1,"session"===g?"Sessions":"Page Views")];i&&y.push((0,Ca.p)("pct",!1,(0,N.sK)(i)+" %",{opposite:!0,max:t[0].map(e=>(e.countWithTag||e.countWithConversion)/e.count).filter(e=>!Number.isNaN(e)).reduce((e,t)=>Math.max(e,t),0)>.85?1:void 0}));let j=-1;f&&(j=y.length,y.push((0,Ca.p)((0,hr.T5)(f),!1,(0,hr.pg)(f,l),{opposite:!0})));const w=!!h&&Array.isArray(t[0])&&t[0].some(e=>e.groups),S=[];if(w){const e=new Map;t[0].forEach(t=>{var r;Object.entries(null!==(r=t.groups)&&void 0!==r?r:{}).forEach(t=>{var r;let n=Lb(t,2),i=n[0],o=n[1];e.set(i,(null!==(r=e.get(i))&&void 0!==r?r:0)+o)})}),S.push(...[...e.keys()].sort((t,r)=>{var n,i;return t===Jo?1:r===Jo?-1:(null!==(n=e.get(r))&&void 0!==n?n:0)-(null!==(i=e.get(t))&&void 0!==i?i:0)}))}const _=e=>e===Jo?"Other":"null"===e||""===e?"N/A":(0,ln.F)(h,l.rumPageGroups).getValueLabel(e)||e,C={labels:{formatter:function(){const e=t[0].find(e=>e.from===this.value),n=(0,T.last)(t[0])===e;return(0,N.Fl)(this.value,(0,hr.T5)(r))+(n?"+":"")}},visible:!0,...o||"number"!=typeof u||i?{}:{plotLines:[A({value:u}),..."number"==typeof m?[A({value:m,type:"comparison"})]:[]]}};function A(e){let t=e.value,n=e.type;const i=(0,k.ew)(r,t),o=Eg.Y[i],a=(0,bu.f9)("comparison"===n?.8:1)[i],l=(0,N.Fl)(t,(0,hr.T5)(r));return{value:t,width:2,color:a,className:"testid-histogram-stat-plotline",dashStyle:"comparison"===n?"Dot":"Dash",label:{text:`<div style="background: ${p?"#171923":"white"}">\n                  ${"comparison"===n?"":`<div style="font-size: 10px;" class="color-coldGrey1">${(0,N.ZD)(d.toUpperCase())}</div>`}\n                  <div\n                    style="font-size: ${"comparison"===n?13:16}px; opacity: ${"comparison"===n?.8:1}; font-weight: 600; color: ${o}"\n                    >${(0,N.ZD)(l)}</div>\n                </div>`,x:12,color:"#777",rotation:0,y:15,useHTML:!0}}}o&&(y.forEach(e=>e.visible=!1),C.visible=!1);const I=w?S.map((e,r)=>({name:_(e),stacking:"normal",color:Ia.dy[r%Ia.dy.length],data:t[0].map(t=>{var r,n;return{y:null!==(r=null===(n=t.groups)||void 0===n?void 0:n[e])&&void 0!==r?r:0,x:t.from,borderColor:s?"#2b363c":"white",...t}})}
1)):[{name:`Recorded ${v}`,data:t[0].map(e=>{const t=(0,bu.yo)((0,k.ew)(r,null===e.to?1e8:e.to-1e-6));return{y:e.count,x:e.from,borderColor:s?"#2b363c":"white",color:t,...e}})},...t[1]?[{name:`Comparison ${v}`,data:t[1].map(e=>{const t=`rgba(${(0,Jh.iN)((0,Jh.u9)((0,k.ew)(r,null===e.to?1e8:e.to-1e-6),c),.4)})`;return{y:e.count,x:e.from,borderColor:s?"#2b363c":"white",color:t,...e}})}]:[]];if(f&&j>=0&&I.push({name:`${(0,hr.pg)(f,l)} (p75)`,type:"spline",lineWidth:2,color:"#544fc5",marker:{enabled:!1},yAxis:j,data:t[0].map(e=>{var t;return{y:null!==(t=e.correlateValue)&&void 0!==t?t:null,x:e.from,...e}})}),i){const e=t[0].map(e=>{const t=e.countWithTag/e.count;return{y:Number.isNaN(t)?null:t,x:e.from,color:"#544fc5",...e}});I.push({name:(0,N.sK)(i)+" %",type:"spline",lineWidth:2,marker:{lineWidth:0,lineColor:"rgba(0,0,0,0)",enabled:!1},yAxis:1,data:e}),b&&I.push({name:(0,N.sK)(i)+" %",type:"spline",lineWidth:2,marker:{enabled:!1},yAxis:1,data:t[1].map(e=>{const t=`rgba(${(0,Jh.iN)("#999999",.4)})`;return{y:e.countWithTag/e.count*1e3/10,x:e.from,color:t,...e}})})}const D=(e,r)=>{var n;const i=null===(n=t[e])||void 0===n?void 0:n[r];if(!i||0===x[e])return{pct:0,breakdownPct:0,isLastBucket:!0,percentile:0,count:0};const o=Math.round(i.countWithTag/i.count*1e3)/10,a=(0,N.cz)(t[e].filter(n=>n.from<=t[e][r].from).map(e=>e.count));let l=a===x[e];return{pct:Math.round(i.count/x[e]*1e3)/10,breakdownPct:o,isLastBucket:l,percentile:Math.round(a/x[e]*1e3)/10,count:i.count}};return{chart:{type:"column",spacingTop:o?0:void 0,spacingLeft:0,spacingRight:0,spacingBottom:0,height:a,animation:!1,backgroundColor:"transparent"},title:void 0,plotOptions:{column:{animation:!1,pointPadding:0,groupPadding:b?.05:0,stacking:w?"normal":void 0},spline:{animation:!1},series:{states:{inactive:{enabled:!1}},cursor:"pointer",point:{events:{click:function(){const e=this.options,t=e.from,i=e.to,o=[];t&&o.push(t),o.push("-"),i&&o.push(i);const a=o.join("");n(r,a)}}}}},credits:{enabled:!1},legend:{enabled:w},xAxis:C,yAxis:y,tooltip:(0,Fb.mS)((e,n)=>{let o=n.seriesIndex;const a=t[b?o%2:0].findIndex(t=>t.from===e.from&&t.count===e.count),s=D(0,a),c=D(1,a);return{heading:{title:`${(0,hr.tm)(r,l)} from ${(0,N.Fl)(e.from,(0,hr.T5)(r))} ${e.to?`to ${(0,N.Fl)(e.to,(0,hr.T5)(r))}`:""}`},badges:[i?{title:(0,N.sK)(i),value:`${s.breakdownPct}% ${b?`(${c.breakdownPct}%)`:""}`}:{title:"Percentage",value:`${s.pct}% ${b?`(${c.pct}%)`:""}`,icon:Fb.bY},{title:`${"session"===g?"Sessions":"Page Views"}${h?" (Total)":""}`,value:`${(0,N.Ke)(s.count)} ${b?`(${(0,N.Ke)(c.count)})`:""}`},...h?Object.entries(e.groups).sort((e,t)=>t[1]-e[1]).slice(0,3).map(e=>{let t=Lb(e,2),r=t[0],n=t[1];return{title:r,value:`${n.toLocaleString()} (${Math.round(100*Ob(n,s.count))}%)`,dotColor:Ia.dy[S.indexOf(r)%Ia.dy.length]}}):[],...s.isLastBucket?[]:[{title:`< ${(0,N.Fl)(e.to,(0,hr.T5)(r))}`,value:`${s.percentile}% ${b?`(${c.percentile}%)`:""}`}]]}}),series:I}}({data:L?[O,L]:[O],rumMetric:r,addFilter:f,breakdownTag:n,small:o,height:R,rumSnippet:v.rumSnippet,isDarkMode:b,highContrast:m,stat:U,value:null==H||null===(q=H[r])||void 0===q?void 0:q.val,compValue:null==G||null===(X=G[r])||void 0===X?void 0:X.val,darkMode:p,aggregationLevel:c,groupBy:P,correlateMetric:F})),i=i||(n?`${(0,hr.pg)(r,v.rumSnippet)} vs ${(0,N.sK)(n)}`:`${(0,hr.pg)(r,v.rumSnippet)} Distribution`);const K=O?(0,N.cz)(O.map(e=>e.count)):null,Y=L?(0,N.cz)(L.map(e=>e.count)):null,J=e=>e>99999?(0,N.Fl)(e,"count"):(0,N.Ke)(e),Q=[{label:"N/A",value:""},...hr.KE.filter(e=>"views"!==e).map(e=>({label:(0,hr.pg)(e,v.rumSnippet),value:e}))],Z=null!==K?(0,W.jsx)("span",{className:"scale-small-1 color-coldGrey1",children:h&&null!==Y?`${J(Y)} ➔ ${J(K)} ${d}`:`${J(K)} ${d}`}):null,ee=o?Z:(0,W.jsxs)("div",{className:"d-flex align-items-center gap-2",children:[Z,(0,W.jsx)(ur.K,{icon:"config",size:16,title:"Histogram settings",className:"color-coldGrey2 opacity-0.5 hover:opacity-1 cursor-pointer ml-1",onClick:e=>D(e.currentTarget)}),I?(0,W.jsx)(pi.A,{anchorElement:I,onClose:()=>D(null),anchorAlignment:"right",children:(0,W.jsxs)("div",{style:{minWidth:240,maxWidth:300},children:[(0,W.jsx)("label",{className:"label mt-0",children:"Group By"}),(0,W.jsx)(Mb.O,{value:y,onChange:w,offerNullOption:!0,rumSnippet:v.rumSnippet}),n?null:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("label",{className:"label mt-3",children:"Correlate With"}),(0,W.jsx)(Dt.l,{className:"with-border",options:Q,components:{Option:Ub,SingleValue:Bb},value:null!==(t=Q.find(e=>e.value===(null!=_?_:"")))&&void 0!==t?t:Q[0],onChange:e=>{const t=null==e?void 0:e.value;C(t||null)}})]})]})}):null]});return(0,W.jsx)(j.U5,{padded:!o,title:i,boxHeading:!0,moreInfoContent:"The histogram shows the distribution of visitor experiences on your website.\n\nExperiences for the same website vary for different visitors due to connection speed, device speed, how busy the server is, and other factors.\n\nEven a fast website sometimes be slow for some people.",moreInfoHref:"/docs/rum/percentiles",titleHref:o&&l?l:void 0,titleChildren:ee,children:z?(0,W.jsx)(Na.F,{options:z}):(0,W.jsx)(Pb.L,{height:R})})}var Vb=r(63952),Hb=r(14721);function Wb(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Gb(e){let t=e.project,r=e.infoSelection;const n=(s=(0,V.t)("viewMode","value"),c=2,function(e){if(Array.isArray(e))return e}(s)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(s,c)||function(e,t){if(e){if("string"==typeof e)return Wb(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Wb(e,t):void 0}}(s,c)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=n[0],o=(n[1],(0,Or.n)().getRumMetricDashboardLink),a=(0,d.u)(),l=[{title:"Overview",testId:"value",href:(0,_.Ao)(A.DS.projectRumUrl(t.id,"more",a),{viewMode:void 0}),selected:"value"===i},{title:"Trendline",testId:"trendline",href:(0,_.Ao)(A.DS.projectRumUrl(t.id,"more",a),{viewMode:"trendline"}),selected:"trendline"===i},{title:"Histogram",testId:"histogram",href:(0,_.Ao)(A.DS.projectRumUrl(t.id,"more",a),{viewMode:"histogram"}),selected:"histogram"===i},{title:"Page Views",testId:"views",href:A.DS.projectRumUrl(t.id,"more",a,{infoSelection:"views"}),selected:"views"===r}];var s,c;return(0,W.jsx)(Vb.p,{project:t,navTabs:l,children:"views"===r?(0,W.jsx)(Db.Cy,{project:t,hideNotNullToggle:!0,showExportDialog:!1,onCloseExportDialog:T.noop,rumMetric:"load",customColumnIds:["ttfb","dcl","load"]}):[{title:"Page Load Milestones",rumMetrics:["ttfb","fcp","lcp","dcl","load"]},{title:"LCP Components",rumMetrics:["lcpLoadDelay","lcpLoadTime","lcpRenderDelay"]},{title:"INP Subparts",rumMetrics:["inputDelay","processingTime","presentationDelay"]},{title:"TTFB Components",rumMetrics:["ttfbWait","ttfbDns","ttfbTcp","ttfbSsl","ttfbRedirect","ttfbResponse","ttfb","ttfbDownload"]},{title:"Other",rumMetrics:["lcpCpuTime","uncachedRatio","errorCount","fppwTotal","networkRtt","networkBandwidth"]},{title:"Custom Metrics",rumMetrics:["metric1","metric2","metric3","metric4","metric5"]}].map((e,r)=>(0,W.jsxs)("div",{children:[(0,W.jsx)(gv.F,{title:e.title}),(0,W.jsx)("div",{className:"row",children:e.rumMetrics.map(e=>(0,W.jsxs)("div",{className:"col-md-4 col-print-4",children:["value"==i&&(0,W.jsx)(fv.hW,{rumMetric:e,testId:`open-${e}-dashboard`}),"trendline"==i&&(0,W.jsxs)(j.U5,{padded:!1,children:[(0,W.jsx)($.N_,{to:o(e),children:(0,W.jsx)("div",{className:"d-flex align-items-center pl-3 pt-3 pr-3",children:(0,W.jsx)("h2",{className:"scale-base mb-0 mt-0",children:(0,hr.pg)(e,t.rumSnippet)})})}),(0,W.jsx)(Hb.m,{rumMetric:e,project:t,small:!0})]}),"histogram"==i&&(0,W.jsx)($b,{rumMetric:e,title:(0,hr.pg)(e,t.rumSnippet),small:!0,smallModeHref:o(e)})]},e))})]},r))})}var zb=r(38478);const qb=[{value:1,label:"Immediately On Breach"},{value:2,label:"After 2 Consecutive Breaches"},{value:3,label:"After 3 Consecutive Breaches"}],Xb=[{value:1,label:"Previous Period Only"},{value:3,label:"Previous 3 Periods"},{value:5,label:"Previous 5 Periods"}];function Kb(e){var t,r;return null!==(t=null===(r=Xb.find(t=>t.value===e))||void 0===r?void 0:r.label)&&void 0!==t?t:`Previous ${e} Periods`}function Yb(e){let t=e.name,r=e.project;const n=(0,B.useMemo)(()=>mo.map(e=>({label:e.label,options:e.metrics.map(e=>({value:e}))})),[]);return(0,W.jsx)(Yt.m,{small:!0,name:t,options:n,getOptionLabel:e=>{let t=e.value;return(0,hr.pg)(t,null==r?void 0:r.rumSnippet)},components:Fi.qA})}function Jb(e){let t=e.name;return(0,W.jsx)(Yt.m,{small:!0,name:t,options:qb.map(e=>({...e}))})}var Qb=r(73554);function Zb(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ex(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ex(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ex(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function tx(e){let t=e.budgetConfig,r=e.projectId,n=e.alertDateTime,i=e.minimalFetch;const o=(0,B.useMemo)(()=>t&&"string"!=typeof t&&"number"!=typeof t&&"boolean"!=typeof t?function(e){try{return null==e?null:btoa(String(e))}catch{return null}}(function(e){try{return JSON.stringify(e,void 0,void 0)}catch{return null}}(t)):null,[t]),a=Zb((0,B.useState)(t?"loading":"idle"),2),l=a[0],s=a[1],c=Zb((0,B.useState)(null),2),d=c[0],m=c[1];return(0,B.useEffect)(()=>{const e="string"==typeof n?new Date(n):void 0,t=e&&"Invalid Date"!==e.toString()?e.toISOString():void 0;o?(m(null),s("loading"),u.FH.getRumBudgetState(r,{budgetConfig:o,referenceTime:t,minimalFetch:i}).then(e=>{m(e)}).finally(()=>{s("idle")}).catch(()=>{s("error")})):(m(null),s("idle"))},[o,n,r,i]),{status:l,budgetState:d}}var rx=r(14045),nx={};function ix(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ox(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ox(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ox(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}nx.styleTagTransform=ve(),nx.setAttributes=pe(),nx.insert=ue().bind(null,"head"),nx.domAPI=ce(),nx.insertStyleElement=he(),le()(rx.A,nx),rx.A&&rx.A.locals&&rx.A.locals;const ax=Object.entries({maxPercentageChange:"Changes by %",maxPercentageIncrease:"Increases by %",maxPercentageDecrease:"Decreases by %",maxAbsoluteChange:"Changes by",maxAbsoluteIncrease:"Increases by",maxAbsoluteDecrease:"Decreases by",goesAbove:"Goes above",goesBelow:"Goes below"}).map(e=>{let t=ix(e,2);return{value:t[0],label:t[1]}}),lx=(e,t)=>{var r;const n=t?(0,hr.T5)(t):"",i={float:"",bytes:"bytes",ms:"ms",score:"",pct:"%",count:"",mbps:"Mbps"};return/percent/i.test(e)?i.pct:"windowWidth"===t||"windowHeight"===t||"clsScrollTop"===t?"px":n&&null!==(r=i[n])&&void 0!==r?r:""};function sx(e){let t=e.rumBudget,r=e.onSubmit,n=e.onCancel,i=e.onDelete,o=e.didSave,a=e.readOnly,s=e.showLivePreview,c=e.initialBudgetState;const d=(0,l.O)().project,u=t?{name:t.name,checkIntervalMinutes:t.checkIntervalMinutes,alertAfterNConsecutiveBreaches:t.alertAfterNConsecutiveBreaches,baselineWindowSize:t.baselineWindowSize,rumMetric:t.rumMetric,conditions:t.conditions,filters:t.filters}:{checkIntervalMinutes:240,alertAfterNConsecutiveBreaches:1,baselineWindowSize:1,name:"",rumMetric:"lcp",conditions:[{type:"maxPercentageIncrease",threshold:15},null],filters:null};return(0,W.jsx)(U.l1,{initialValues:u,validate:e=>{const t={};return e.name||(t.name="Name is required"),t},onSubmit:async e=>r(e),children:e=>{let r=e.handleSubmit,l=e.isSubmitting,u=e.values;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("form",{onSubmit:r,className:"rum-budget-form special-form border-color-eee",style:{border:"1px solid #eee",borderRadius:4},children:[(0,W.jsxs)("div",{className:"p-3",children:[(0,W.jsx)("div",{className:"mb-3",children:(0,W.jsx)(yt.u,{label:"Budget Name",name:"name",labelMarginTop:0,placeholder:"Enter budget name",validate:e=>(0,xt.mw)(e),showValidationMessage:!0})}),(0,W.jsxs)("div",{className:"row",children:[(0,W.jsxs)("div",{className:"col-md-4 mb-3",children:[(0,W.jsx)("label",{className:"mt-0 mb-1",children:"Check Every"}),(0,W.jsx)(Yt.m,{small:!0,name:"checkIntervalMinutes",getOptionLabel:e=>e.label,options:[{value:60,label:"1 Hour"},{value:120,label:"2 Hours"},{value:180,label:"3 Hours"},{value:240,label:"4 Hours"},{value:360,label:"6 Hours"},{value:480,label:"8 Hours"},{value:720,label:"12 Hours"},{value:1440,label:"24 Hours"},{value:2880,label:"48 Hours"},{value:4320,label:"72 Hours"}]})]}),(0,W.jsxs)("div",{className:"col-md-4 mb-3",children:[(0,W.jsxs)("label",{className:"mt-0 mb-1",children:[(0,W.jsx)("span",{className:"mr-1",children:"Alert After"}),(0,W.jsx)(x.c,{content:'Only alert if the budget condition is breached for N consecutive checks. For example, if "Check Every" is set to 1 hour and this value is set to 3, then an alert will only be triggered if the condition is breached for 3 hours straight.'})]}),(0,W.jsx)(Jb,{name:"alertAfterNConsecutiveBreaches"})]}),(0,W.jsxs)("div",{className:"col-md-4 mb-3",children:[(0,W.jsxs)("label",{className:"mt-0 mb-1",children:[(0,W.jsx)("span",{className:"mr-1",children:"Baseline Duration"}),(0,W.jsx)(x.c,{content:"Compare the current metric value directly to the previous period, or compare to a median of multiple periods to ignore past outliers.\n\nIncreasing this values smoothes out short
1-term fluctuations and helps to identify consistent trends."})]}),(0,W.jsx)(Yt.m,{small:!0,id:"baseline-window-size",name:"baselineWindowSize",getOptionLabel:e=>e.label,options:Xb.map(e=>({...e}))})]})]}),(0,W.jsxs)("div",{className:"mb-3",children:[(0,W.jsxs)("div",{className:"d-flex align-items-center mb-1",children:[(0,W.jsx)("label",{className:"mt-0 mr-1",children:"Page View Filter"}),(0,W.jsx)(x.c,{content:"Filter what page views are included in the budget check.",small:!0})]}),(0,W.jsx)(ux,{})]}),(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{className:"d-flex align-items-center mb-1",children:[(0,W.jsx)("label",{className:"mt-0 mr-1",children:"Budget Condition"}),(0,W.jsx)(x.c,{content:"Define what metric thresholds should trigger an alert.",small:!0})]}),(0,W.jsxs)("div",{className:"alert-metric-item",children:[(0,W.jsxs)("label",{className:"flex-1 mt-0",children:[(0,W.jsx)("span",{className:"sr-only",children:"RUM Metric"}),(0,W.jsx)("div",{style:{width:"280px"},"data-testid":"rum-metric-selector-container",children:(0,W.jsx)(Yb,{name:"rumMetric",project:d})})]}),(0,W.jsx)(dx,{name:"conditions",rumMetric:u.rumMetric})]})]})]}),(0,W.jsxs)("div",{className:"d-flex justify-content-between px-3 border-color-eee",style:{background:"var(--grey6)",borderTop:"1px solid #eee",paddingTop:"0.75rem",paddingBottom:"0.75rem"},children:[t&&i?(0,W.jsx)("button",{type:"button",className:"btn btn-link scale-small-1 color-coldGrey1",onClick:i,disabled:a,children:"Delete"}):(0,W.jsx)("div",{}),(0,W.jsxs)("div",{className:"d-flex",children:[(0,W.jsx)("button",{type:"button",className:"btn btn-link scale-small-1 color-coldGrey1 mr-3",onClick:n,children:"Cancel"}),(0,W.jsx)(v.J,{isSubmitting:l,title:"Save",success:o,marginTop:0,style:{minWidth:150},disabled:a})]})]})]}),s&&null!=(null==d?void 0:d.id)&&(0,W.jsx)(cx,{projectId:d.id,initialBudgetState:c})]})}})}function cx(e){let t=e.projectId,r=e.initialBudgetState;const n=(0,U.j7)().values,i=ix((0,B.useState)(n),2),o=i[0],a=i[1];(0,B.useEffect)(()=>{const e=setTimeout(()=>a(n),500);return()=>clearTimeout(e)},[n]);const l=(0,B.useMemo)(()=>{var e;return{checkIntervalMinutes:o.checkIntervalMinutes,alertAfterNConsecutiveBreaches:o.alertAfterNConsecutiveBreaches,baselineWindowSize:o.baselineWindowSize,rumMetric:o.rumMetric,conditions:o.conditions,filters:null!==(e=o.filters)&&void 0!==e?e:null}},[o]),s=(0,B.useRef)(r?JSON.stringify(l):null),c=tx({budgetConfig:null===s.current||JSON.stringify(l)!==s.current?l:null,projectId:t}),d=c.status,u=c.budgetState,m=ix((0,B.useState)(null!=r?r:u),2),p=m[0],g=m[1];return(0,B.useEffect)(()=>{u&&g(u)},[u]),(0,W.jsx)("div",{className:"mt-3 p-3",style:{border:"1px solid #eee",borderRadius:4},children:p?(0,W.jsx)("div",{style:{opacity:"loading"===d?.75:1,transition:"opacity 0.15s ease"},children:(0,W.jsx)(Qb.Fk,{analysis:p.analysis,budget:p.rumBudget,rumMetric:o.rumMetric})}):"error"===d?(0,W.jsx)("div",{className:"d-flex align-items-center justify-content-center color-coldGrey1 scale-small-1",style:{height:400},children:"Couldn't load a preview for this configuration."}):(0,W.jsx)("div",{className:"d-flex align-items-center justify-content-center",style:{height:400},children:(0,W.jsx)(kt.v,{})})})}function dx(e){let t=e.name,r=e.rumMetric;const n=(0,U.j7)().values,i=(0,Di.A)(t.split("."),n);return(0,W.jsx)(U.ED,{name:t,render:e=>(0,W.jsxs)("div",{className:"d-flex align-items-center gap-xs",children:[["primary","secondary"].map((o,a)=>{var l;const s=null==i?void 0:i[a];return"secondary"!==o||s?(0,W.jsxs)("div",{className:"d-flex align-items-center",children:["secondary"===o&&(0,W.jsx)("span",{className:"color-coldGrey1 ml-1 mr-1 scale-small-1",children:"and"}),(0,W.jsxs)("label",{className:"mt-0",style:{flex:1},children:[(0,W.jsxs)("span",{className:"sr-only",children:["condition ",a+1]}),(0,W.jsx)("div",{style:{width:"150px"},children:(0,W.jsx)(Yt.m,{"data-testid":`${o}-condition-type-select`,small:!0,placeholder:"secondary"===o?"(optional)":void 0,name:`${t}.${a}.type`,onSelection:r=>{"secondary"!==o||r||e.remove(a);const i=(0,xc.A)(void 0,[...t.split("."),a+1,"type"],n);"primary"===o&&i===r&&e.remove(a+1)},options:(c="primary"===o,d=(0,xc.A)(void 0,[...t.split("."),a-1,"type"],n),c?ax:[{value:void 0,label:"None"},...ax].filter(e=>e.value!==d))})}),(0,W.jsx)(bt.s,{name:`${t}.${a}.type`,style:{whiteSpace:"nowrap"},className:"position-absolute ml-2"})]}),(0,W.jsxs)("div",{children:[(0,W.jsxs)("span",{className:"ml-2 d-flex align-items-center",children:[(0,W.jsxs)("label",{className:"mt-0 display-flex align-items-center",children:[(0,W.jsx)("span",{className:"sr-only",children:"Threshold"}),(0,W.jsx)(U.D0,{className:"small",style:{padding:"4px"},type:"number",name:`${t}.${a}.threshold`,disabled:!(null!=s&&s.type),validate:e=>"number"!=typeof e||""===String(e).trim()?"Required":e<=0?"Must be greater than 0":void 0})]}),(0,W.jsx)("span",{className:"ml-1 color-coldGrey1",style:{width:"23px"},children:lx(null!==(l=null==s?void 0:s.type)&&void 0!==l?l:"maxPercentageIncrease",r)})]}),(0,W.jsx)(bt.s,{className:"position-absolute ml-2",name:`${t}.${a}.threshold`,style:{whiteSpace:"nowrap"}})]})]},o):null;var c,d}),null==(null==i?void 0:i[1])?(0,W.jsx)("button",{type:"button",className:"btn btn-link d-flex align-items-center scale-small-1 ml-2",onClick:()=>e.replace(1,{type:"maxAbsoluteIncrease",threshold:200}),children:"Add Condition"}):null]})})}function ux(){var e,t,r,n;const i=(0,U.j7)(),o=i.setFieldValue,a=i.values,s=(0,l.O)().project,c=(0,B.useMemo)(()=>{var e;return null!==(e=a.filters)&&void 0!==e?e:[]},[a.filters]),d=ix((0,B.useState)(null),2),u=d[0],m=d[1],p=ix((0,B.useState)(null),2),g=p[0],h=p[1],f=(0,B.useRef)(null),v=(0,B.useMemo)(()=>{var e,t;return vn(c.filter(e=>e.filterName),{dataDomain:"rum",testIdPrefix:"rum-budget-filter",additionalData:{rumPageGroups:null==s||null===(e=s.rumSnippet)||void 0===e?void 0:e.rumPageGroups,rumCustomMappings:null==s||null===(t=s.rumSnippet)||void 0===t?void 0:t.rumCustomMappings}})},[c,s]),b=(0,B.useMemo)(()=>c.map(e=>
1e.filterName).filter(Boolean),[c]),x="number"==typeof u?c[u]:null,y=(0,B.useCallback)(e=>{let t=e.filterName,r=e.filterValue,n=e.filterQueryType;const i={filterName:t,filterValue:1===r.length?String(r[0]):r.map(String),filterType:n};if("number"==typeof u){const e=[...c];e[u]=i,o("filters",e)}else o("filters",[...c,i]);m(null),h(null)},[u,c,o]),j=(0,B.useCallback)(e=>{const t=c.filter(t=>t.filterName!==e);o("filters",t.length>0?t:null)},[c,o]),w=(0,B.useCallback)((e,t)=>{const r=c.findIndex(t=>t.filterName===e);m(r),h(t)},[c]),S=(0,B.useCallback)(()=>{m(null),h(null)},[]);return(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{className:"d-flex gap-xxsm align-items-center",children:[(0,W.jsx)(Co,{filters:v,onDelete:j,onClick:w,editingId:"number"==typeof u?null===(e=c[u])||void 0===e?void 0:e.filterName:void 0}),(0,W.jsx)(mi,{ref:f,onClick:()=>{m("__new__"),h(f.current)},"data-testid":"add-filter-button",children:"+ Add Filter"})]}),null!=u&&s&&(0,W.jsx)(ho,{project:s,dataDomain:"rum",filtersInUse:b,initialFilter:{attributeFilter:"__new__"===u?"":null!==(t=null==x?void 0:x.filterName)&&void 0!==t?t:"",filterValue:"__new__"===u?[]:[null!==(r=null==x?void 0:x.filterValue)&&void 0!==r?r:[]].flat(),filterQueryType:"__new__"===u?"is":null!==(n=null==x?void 0:x.filterType)&&void 0!==n?n:"is"},onApply:y,onCancel:S,anchorElement:g})]})}const mx={is:"Is",isNot:"Is Not",matches:"Matches",doesNotMatch:"Does Not Match"};function px(e){var t,r;let n=e.item,i=e.toggleExpanded,o=e.didSave,a=e.budgetStates,s=e.handleUpdate,c=e.handleDelete,d=e.canEdit;const u=a.find(e=>e.rumBudget.id===n.id),m=(0,l.O)().project,p=null==m||null===(t=m.rumSnippet)||void 0===t?void 0:t.key,g=(null!==(r=null==u?void 0:u.analysis)&&void 0!==r?r:[]).filter(e=>{var t,r;return(null===(t=e.currentPeriod)||void 0===t?void 0:t.timestamp)&&(null===(r=e.currentPeriod)||void 0===r?void 0:r.endTime)}).map(e=>({timestamp:e.currentPeriod.timestamp,alertTime:e.currentPeriod.endTime,status:e.breached?"alert":e.breachedForPeriod?"breachedPeriod":"ok"}));return(0,W.jsxs)("div",{children:[(0,W.jsx)(sx,{rumBudget:n,onSubmit:e=>s(n.id,e),onCancel:i,onDelete:()=>c(n.id),didSave:o,readOnly:!d,showLivePreview:!0,initialBudgetState:u?{rumBudget:n,analysis:u.analysis}:null}),(0,W.jsx)(f.w,{children:p&&(0,W.jsxs)("div",{className:"mt-3 p-3",style:{border:"1px solid #eee",borderRadius:4},children:[(0,W.jsxs)("div",{className:"color-coldGrey1 scale-small-1 mb-2",children:["Admin: alert preview links (",g.length,")"]}),0===g.length?(0,W.jsx)("div",{className:"color-coldGrey1 scale-small-1",children:"No analyzed periods in the current series."}):(0,W.jsx)("ul",{className:"mb-0",style:{paddingLeft:18},children:g.map(e=>{let t=e.timestamp,r=e.alertTime,i=e.status;return(0,W.jsxs)("li",{children:[(0,W.jsx)("a",{href:`/debugbearadmin/rumAlert/${encodeURIComponent(p)}?alertTime=${encodeURIComponent(r)}&budgetId=${n.id}`,target:"_blank",rel:"noreferrer",children:t}),(0,W.jsx)("span",{className:"ml-2 scale-small-1",style:{color:"alert"===i?"#dc2626":"breachedPeriod"===i?"#b58900":"var(--coldGrey1, #7E8C97)"},children:"alert"===i?"Alert":"breachedPeriod"===i?"Breached period":"OK"})]},t)})})]})})]})}function gx(e){var t;let r=e.rumBudgets,n=e.initialExpandedBudgetIds,i=e.onExpandedItemsChange,o=e.budgetStates,a=e.handleUpdate,l=e.handleDelete,s=e.handleDuplicate,c=e.didSave,d=e.canEdit;const u=null!==(t=null==n?void 0:n.map(e=>e.toString()))&&void 0!==t?t:[];return(0,W.jsx)("div",{className:"rum-budget-list",children:(0,W.jsx)(h.mY,{items:r,initialExpandedItemIds:u,onExpandedItemsChange:e=>{const t=e.map(e=>parseInt(e,10));null==i||i(t)},ItemDetailsRenderer:px,noMatchingItemsMessage:"No custom RUM budgets set up yet.",borderBottomForLastRow:!0,extraProps:{didSave:c,budgetStates:o,handleUpdate:a,handleDelete:l,canEdit:d},columns:{name:{heading:{title:"Name"},render:e=>(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)("div",{className:"nowrap-ellipsis",style:{minWidth:0},children:e.name}),d&&(0,W.jsx)(S.m,{overlay:"Duplicate Budget",children:(0,W.jsx)("button",{type:"button",className:"result-table__show-on-row-hover btn btn-link scale-small-1 color-coldGrey1 p-0 ml-2 flex-no-shrink","aria-label":"Duplicate Budget",onClick:t=>{t.stopPropagation(),s(e)},children:(0,W.jsx)(Vc.j,{style:{display:"block"}})})})]})},filters:{heading:{title:"Filters"},render:e=>(0,W.jsx)("div",{className:"d-flex flex-wrap overflow-hidden align-items-center",children:e.filters&&e.filters.length>0?(0,W.jsxs)(W.Fragment,{children:[e.filters.slice(0,3).map(e=>(0,W.jsxs)(m.E,{className:"nowrap-ellipsis ml-0 mr-1",children:[(0,W.jsx)("span",{className:"pl-1",children:e.filterName}),(0,W.jsx)("span",{className:"pl-1",children:mx[e.filterType]}),(0,W.jsx)("span",{className:"pl-1",children:(0,W.jsx)(hx,{filterValue:e.filterValue,filterName:e.filterName})}),(0,W.jsx)("span",{className:"pl-1",children:Array.isArray(e.filterValue)&&e.filterValue.length>1?`(+ ${e.filterValue.length-1} values)`:""})]},e.filterName+e.filterType+e.filterValue)),e.filters.length>3&&(0,W.jsxs)(m.E,{className:"ml-0",children:["+",e.filters.length-3," more"]})]}):(0,W.jsx)(m.E,{className:"nowrap-ellipsis ml-0",children:"All Page Views"})})},alertMetrics:{heading:{title:"Alert Metric"},render:e=>(0,W.jsx)("div",{className:"d-flex flex-wrap overflow-hidden",children:(0,W.jsx)(m.E,{className:"nowrap-ellipsis ml-0",children:(0,hr.pg)(e.rumMetric)})})},status:{heading:{title:"Status",style:{width:"80px"},alignRight:!0},render:e=>{var t;const r=o.find(t=>t.rumBudget.id===e.id),n=null==r||null===(t=r.analysis)||void 0===t?void 0:t[r.anal
1ysis.length-1],i=n&&!n.breached;return(0,W.jsx)("div",{className:"d-flex justify-content-end",children:i?(0,W.jsx)(nd.P,{"data-budget-status":"passing",className:"text-success flex-no-shrink"}):(0,W.jsx)(ju.h,{"data-budget-status":"failing",className:"flex-no-shrink"})})}}}})})}function hx(e){var t;let r=e.filterValue,n=e.filterName;const i=(0,l.O)().project,o=(0,ln.F)(n,null==i||null===(t=i.rumSnippet)||void 0===t?void 0:t.rumPageGroups);return Array.isArray(r)?o.getValueLabel(r[0]):o.getValueLabel(r)}function fx(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return vx(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vx(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vx(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const bx=[];function xx(e){var t;let r=e.projectId,n=e.canEdit;const i=fx((0,B.useState)(!1),2),o=i[0],a=i[1],l=fx((0,B.useState)(!1),2),s=l[0],c=l[1],d=fx((0,B.useState)(null),2),m=d[0],p=d[1],g=(0,B.useRef)(null),h=fx((0,B.useState)([]),2),f=h[0],v=h[1],b=fx((0,B.useState)([]),2),x=b[0],y=b[1],S=fx((0,B.useState)(!0),2),_=S[0],k=S[1],C=fx((0,V.t)("budgetIds",bx,{parse:e=>(Array.isArray(e)?e:[e]).filter(Boolean).map(e=>parseInt(e,10)),useReplaceNavigation:!0}),2),A=C[0],N=C[1],I=(0,B.useCallback)(async()=>{const e=fx(await Promise.all([u.FH.getRumBudgets(r),u.FH.getRumBudgetStates(r)]),2),t=e[0],n=e[1];v(t),y(n),k(!1)},[r]);return(0,B.useEffect)(()=>{I()},[I]),(0,B.useEffect)(()=>{var e;s&&m&&(null===(e=g.current)||void 0===e||e.scrollIntoView({behavior:"smooth",block:"center"}))},[s,m]),(0,B.useEffect)(()=>{if(o){const e=setTimeout(()=>{a(!1)},3e3);return()=>clearTimeout(e)}},[o]),_?(0,W.jsx)("div",{className:"d-flex margin-auto p-4",children:(0,W.jsx)(w.y,{})}):(0,W.jsxs)(W.Fragment,{children:[f.length>0&&(0,W.jsx)(pt.I,{stepId:"createBudget"}),(0,W.jsxs)(j.U5,{title:"RUM Budget Conditions",padded:!1,boxHeading:!0,moreInfoContent:"Customize RUM alerts notifications that are sent by email or in Slack or MS Teams.",moreInfoHref:"/docs/rum/alerts",children:[(0,W.jsx)(gx,{rumBudgets:f,initialExpandedBudgetIds:A,onExpandedItemsChange:N,budgetStates:x,handleUpdate:async(e,t)=>{await u.FH.updateRumBudget(e,t).finally(()=>{I().then(()=>{a(!0),c(!1)})})},handleDelete:async e=>{confirm("Are you sure you want to delete this budget?")&&(await u.FH.deleteRumBudget(e),I())},handleDuplicate:e=>{s&&!confirm("Replace the budget you're currently creating? Any unsaved changes will be lost.")||(p({...e,name:`${e.name} (copy)`}),c(!0))},didSave:o,canEdit:n}),s?(0,W.jsx)("div",{className:"p-3",ref:g,children:(0,W.jsx)(sx,{rumBudget:null!=m?m:void 0,showLivePreview:!0,onSubmit:async e=>{await u.FH.createRumBudget(r,e).finally(()=>I()),a(!0),c(!1),p(null)},onCancel:()=>{c(!1),p(null)},didSave:o},null!==(t=null==m?void 0:m.id)&&void 0!==t?t:"new")}):(0,W.jsx)("button",{type:"button",className:"btn btn-primary btn-sm d-flex align-items-center m-3",onClick:()=>{p(null),c(!0)},disabled:!n,children:"Create Budget"})]}),(0,W.jsx)(Km,{projectId:r,notificationType:"rumAlerts"})]})}var yx=r(96894);function jx(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r="^"+e.split(/(\*\*?)/).map(e=>"**"===e?".*":"*"===e?"[^/]*":t?e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"):e).join("")+"/?$";try{return new RegExp(r)}catch(e){return/(?!)/}}r(49354);
1var wx=r(94320);var Sx=r(59815),_x={};function kx(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Cx(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Cx(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Cx(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}_x.styleTagTransform=ve(),_x.setAttributes=pe(),_x.insert=ue().bind(null,"head"),_x.domAPI=ce(),_x.insertStyleElement=he(),le()(Sx.A,_x),Sx.A&&Sx.A.locals&&Sx.A.locals;const Ax=[{value:"url",label:"URL Path Wildcard"},{value:"urlRegExp",label:"Full URL RegExp"},{value:"selector",label:"CSS Selector"}];function Nx(e){let t=e.snippetId,r=e.rumPageGroups,n=e.showPageGroupSampling;const i=kx((0,B.useState)(!1),2),o=i[0],a=i[1],s=kx((0,B.useState)(null),2),c=s[0],m=s[1],p=B.useContext(l.v),g=p.project,h=p.patchProjectState,f=(0,Or.n)().getUrlWithAddedFilters;function v(e){const t={...g,rumSnippet:{...g.rumSnippet,rumPageGroups:e}};h(t)}async function b(e){m(e===c?null:e)}async function x(){a(!0);const e=Math.max(...r.map(e=>e.order),0)+1,n=await u.FH.createRumPageGroup(t,{name:"New page group",order:e,paths:[],sampling:null,type:"url",cssSelector:null,urlRegExps:[]});v([...r,n]),a(!1),m(n.id)}
1async function y(e){window.confirm(`Do you want to delete the "${e.name}" page group?`)&&(await u.FH.deleteRumPageGroup(e.id),m(null),v((0,im.b)(r,e.id)))}function j(e){v((0,im.j)(r,e))}const w=B.useMemo(()=>r.sort((e,t)=>e.order-t.order).map(e=>({...e})),[r]);function S(e){return"url"===e.type?e.paths.join(", "):"urlRegExp"===e.type?e.urlRegExps.join(", "):`CSS Selector: ${e.cssSelector}`}return 0===w.length?(0,W.jsxs)("div",{className:"px-3 py-2",children:[(0,W.jsx)("p",{children:"There aren't any Page Groups in this project, yet."}),(0,W.jsx)("button",{className:"btn btn-primary btn-sm mb-3",onClick:x,disabled:o||!(null!=g&&g.canEdit),"data-testid":"create-rum-page-group-button",children:"Create Page Group"})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{"data-test-rum-page-groups":!0,className:"d-flex align-items-center px-3 py-2 font-weight-normal page-groups__header",style:{lineHeight:"1em",fontWeight:"normal",fontSize:11,textTransform:"uppercase",letterSpacing:"0.05em",color:"hsl(206, 11%, 54%)"},children:"Page Group"}),(0,W.jsx)(Yh.ReactSortable,{list:w,handle:".draghandle",onEnd:async function(e){var t,n;const i=e.oldIndex,o=e.newIndex;if(i===o)return;const a=(null===(t=w[i<o?o:o-1])||void 0===t?void 0:t.order)||0,l=(null===(n=w[i<o?o+1:o])||void 0===n?void 0:n.order)||Math.max(...r.map(e=>e.order),0)+1,s=r.find(e=>e.id===w[i].id);if(!s)return;let c=(a+l)/2;c+=Math.random()/1e7,s.order=c,v([...r.filter(e=>
1e.id!==s.id),s]),await u.FH.updateRumPageGroup(s.id,{order:c})},setList:()=>{},forceFallback:!0,children:w.map(e=>{var t;return(0,W.jsxs)("div",{className:"page-groups__item",children:[(0,W.jsxs)("div",{className:"d-flex align-items-center p-2 font-weight-normal user-select-none",children:[(0,W.jsx)("div",{style:{width:"30px",cursor:"grab"},className:"draghandle",children:(0,W.jsx)("div",{style:{width:16,height:16,marginRight:10,marginLeft:6},children:(0,W.jsx)(df.t,{className:"d-block color-grey3"})})}),(0,W.jsxs)("div",{className:"d-flex align-items-center justify-content-between w-100 group",style:{minWidth:0},children:[(0,W.jsxs)("div",{"data-test-rum-page-group-expand":!0,"data-testid":`result-table-row-${e.id}`,className:"d-flex flex-column flex-grow-1 cursor-pointer px-2",style:{gap:"2px",minWidth:0},onClick:()=>b(e.id),children:[(0,W.jsx)("div",{children:e.name}),""!==S(e)&&(0,W.jsx)("div",{className:"nowrap-ellipsis",style:{color:"hsl(206, 11%, 54%)",fontWeight:"normal",fontSize:11,lineHeight:"1em"},children:S(e)})]}),f&&(0,W.jsx)($.N_,{to:(0,_.Ao)(A.DS.projectRumUrl(null!==(t=null==g?void 0:g.id)&&void 0!==t?t:0,"trends"),{...(0,d.u)(),groupId:e.id.toString()}),className:"show-on-group-hover d-flex align-items-center px-2",children:(0,W.jsx)(wx.M,{})})]}),(0,W.jsx)("div",{style:{width:"30px"},className:"cursor-pointer color-grey3",onClick:()=>b(e.id),children:(0,W.jsx)(Kg.D,{style:{transform:c===e.id?"rotate(180deg)":void 0}})})]}),c===e.id&&(0,W.jsx)("div",{className:"px-4 pb-4 page-group__details-container",children:(0,W.jsx)(Px,{rumPageGroup:e,onUpdate:j,onDelete:y,showPageGroupSampling:n})})]},e.id)})}),(0,W.jsx)("button",{className:"btn btn-primary btn-sm ml-3 mt-3 mb-3",onClick:x,disabled:o||!(null!=g&&g.canEdit),"data-testid":"create-rum-page-group-button",children:"Create Page Group"}),r.filter(e=>e.paths.length>0||e.urlRegExps.length>0).length>0&&(0,W.jsx)("div",{className:"pl-3 pb-3 pt-1",children:(0,W.jsx)(Dx,{rumPageGroups:r})})]})}function Ix(e){var t;return""===(null==e?void 0:e.trim())?"Must not be empty":e&&!function(e){try{new RegExp(e)}catch(e){return!1}return!0}(null!=e?e:"")?"Regular expression not valid":(null!==(t=null==e?void 0:e.length)&&void 0!==t?t:0)>255?"Regular expression is too long":void 0}function Tx(e){var t;return""===(null==e?void 0:e.trim())?"Must not be empty":(null!=e?e:"/").startsWith("/")?(null!==(t=null==e?void 0:e.length)&&void 0!==t?t:0)>255?"Path is too long":void 0:'Path must start with "/"'}function Dx(e){let t=e.rumPageGroups;const r=kx((0,B.useState)(""),2),n=r[0],i=r[1];let o=n.split("?")[0],a=n.split("?")[1]||"",l="";if(n.startsWith("http")){var s,c,d;const e=(0,I.A)(n);o=null!==(s=null==e?void 0:e.pathname)&&void 0!==s?s:o,a=null!==(c=null==e?void 0:e.search.slice(1))&&void 0!==c?c:a,l=null!==(d=null==e?void 0:e.hostname)&&void 0!==d?d:l}const u=function(e,t,r,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return n.find(n=>{let o=n.type,a=n.paths,l=n.cssSelector,s=n.urlRegExps;if("url"===o)return 0!==a.length&&a.some(e=>jx(e).test(t));if("urlRegExp"===o){let n=e+t+(r?"?"+r:r);return s.some(e=>function(e,t){try{return new RegExp(e).test(t)}catch(e){return!1}}(e,n))}return"selector"===o&&l&&i?!!i(l):void 0})}(l,o,a,t,void 0);return(0,W.jsx)(dp.F,{title:"Test Page Group Rules",titleClassName:"color-grey2 scale-small-1",children:(0,W.jsxs)("div",{className:"row mt-3",children:[(0,W.jsx)("div",{className:"col-md-6",children:(0,W.jsxs)("form",{onSubmit:e=>e.preventDefault(),style:{maxWidth:"100%"},children:[(0,W.jsx)("label",{className:"mt-0",children:"Path or URL"}),(0,W.jsx)("input",{value:n,className:"mt-1",placeholder:"/docs",onChange:e=>i(e.target.value),style:{padding:4}})]})}),(0,W.jsxs)("div",{children:[(0,W.jsx)("label",{className:"scale-small-1 color-coldGrey1",children:"Page Group"}),(0,W.jsx)("div",{style:{marginTop:2,lineHeight:"1em"},children:u?u.name:"None"})]})]})})}function Px(e){let t=e.rumPageGroup,r=e.onUpdate,n=e.onDelete,i=e.showPageGroupSampling;const o=kx((0,B.useState)(!1),2),a=o[0],l=o[1],s=kx((0,B.useState)(!1),2),c=s[0],d=s[1];return(0,W.jsx)("div",{"data-rum-page-group-id":t.id,"data-testid":"rum-page-group-detail
1s",children:(0,W.jsx)("div",{className:"row",children:(0,W.jsx)("div",{className:"col-md my-3",children:(0,W.jsx)(U.l1,{initialValues:t,onSubmit:async function(e){l(!0),await u.FH.updateRumPageGroup(e.id,(0,T.omit)(e,"id","order")),r(e),l(!1),d(!0),setTimeout(()=>d(!1),1500)},children:e=>{let r=e.handleSubmit,o=e.values,l=e.setFieldValue;return(0,W.jsxs)("form",{onSubmit:r,className:"wide-form",style:{maxWidth:600},children:[(0,W.jsx)(yt.u,{name:"name",label:"Name",validate:(0,xt.hF)("Name"),showValidationMessage:!0,"data-testid":"rum-page-group-name"}),(0,W.jsxs)("div",{"data-testid":"rumGroupTypeSelection",children:[(0,W.jsx)("label",{children:"Page Match Type"}),(0,W.jsx)(Yt.m,{name:"type",onSelection:()=>{["url","urlRegExps","selector"].forEach(e=>l(e,"selector"===e?"":[]))},getOptionTestId:e=>`page-match-type-${e.value}`,options:Ax})]}),(0,W.jsx)("div",{style:{marginBottom:"12px",display:"url"===o.type?"block":"none"},children:(0,W.jsx)(yx.t,{tooltipContent:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("p",{className:"mt-0",children:["Supports wildcards like ",(0,W.jsx)("code",{children:"/docs/**"})," or"," ",(0,W.jsx)("code",{children:"/buy-houses-in-*/listings"}),"."]}),(0,W.jsxs)("p",{className:"mb-0",children:["Single ",(0,W.jsx)("code",{children:"*"})," only matches one segment,"," ",(0,W.jsx)("code",{children:"**"})," matches everything. For example,"," ",(0,W.jsx)("code",{children:"/docs/*"}),' matches "/docs/article" but not "/docs/feature/article" while ',(0,W.jsx)("code",{children:"/docs/**"})," ","matches both."]})]}),label:"Paths",name:"paths",placeholder:"/product/*",testId:"js-rum-page-groups-paths",validate:Tx})}),(0,W.jsxs)("div",{style:{marginBottom:"12px",display:"urlRegExp"===o.type?"block":"none"},children:[(0,W.jsx)(yx.t,{tooltipContent:(0,W.jsx)(W.Fragment,{children:"Write a regular expression that matches a full URL, including the host name and query string."}),label:"URL Regular Expressions",name:"urlRegExps",placeholder:"^.*/product\\?utm_campaign=promo2*$",testId:"js-rum-page-groups-urlRegExps",validate:Ix}),(0,W.jsxs)("div",{className:"form-note",children:["Keep in mind that you need to match the domain name and any query parameters, for example by adding ",(0,W.jsx)("code",{children:".*"})," at the start and end of the regular expression."]})]}),(0,W.jsx)("div",{style:{marginBottom:"12px",display:"selector"===o.type?"block":"none"},children:(0,W.jsx)(yt.u,{name:"cssSelector",label:"CSS Selector",showValidationMessage:!0,validate:xt.ru,placeholder:"body.landing-page","data-testid":"css-selector"})}),(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{style:{display:i?"block":"none"},children:(0,W.jsx)(yt.u,{name:"sampling",label:"Sampling Rate %",extraLabelContent:" ",validate:(0,xt._p)({allowEmptyString:!0}),showValidationMessage:!0,placeholder:"auto"})}),(0,W.jsx)("div",{style:{display:i?"none":"block"},children:(0,W.jsxs)("label",{className:"d-flex align-items-center","data-testid":"toggle-exclude-group-rum-from-rum-data",children:[(0,W.jsx)("input",{type:"checkbox",className:"checkbox mr-2",checked:0===o.sampling,onChange:e=>{l("sampling",e.target.checked?0:"")}}),"Exclude Matching Page Views From RUM Data",(0,W.jsx)(x.c,{style:{marginLeft:6},content:"If checked, future page views on these pages won't be reported to DebugBear and won't use up page view quota."})]})})]}),(0,W.jsx)(v.J,{isSubmitting:a,success:c,title:"Save Page Group",testName:"rum-page-group-save",children:(0,W.jsx)("button",{type:"button",className:"btn btn-link",onClick:()=>n(t),style:{fontSize:13},children:"Delete Group"})})]})}})})})})}function Fx(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Mx(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Mx(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Mx(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Ox={color:"hsl(206, 11%, 54%)",fontWeight:"normal",fontSize:11,lineHeight:"1em"};function Lx(e){let t=e.snippetId,r=e.rumConversionTriggers;const n=Fx((0,B.useState)(!1),2),i=n[0],o=n[1],a=Fx((0,B.useState)(null),2),s=a[0],c=a[1],d=B.useContext(l.v),m=d.project,p=d.patchProjectState;function g(e){p({...m,rumSnippet:{...m.rumSnippet,rumConversionTriggers:e}})}async function h(){o(!0);try{const e=await u.FH.createRumConversionTrigger(t,{name:"New conversion trigger",paths:[]});g([...r,e]),c(e.id)}finally{o(!1)}}async function f(e){window.confirm(`Do you want to delete the "${e.name}" conversion trigger?`)&&(await u.FH.deleteRumConversionTrigger(e.id),c(null),g((0,im.b)(r,e.id)))}function v(e){g((0,im.j)(r,e))}return 0===r.length?(0,W.jsxs)("div",{className:"px-3 py-2",children:[(0,W.jsx)("p",{children:"There aren't any Conversion Triggers in this project, yet."}),(0,W.jsx)("button",{className:"btn btn-primary btn-sm mb-3",onClick:h,disabled:i||!(null!=m&&m.canEdit),"data-testid":"create-rum-conversion-trigger-button",children:"Create Conversion Trigger"})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{className:"d-flex align-items-center px-3 py-2 font-weight-normal page-groups__header",style:{...Ox,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Conversion Trigger"}),r.map(e=>{var t;const r=()=>c(e.id===s?null:e.id);return(0,W.jsxs)("div",{className:"page-groups__item",children:[(0,W.jsxs)("div",{"data-testid":`result-table-row-${e.id}`,className:"d-flex align-items-center p-2 font-weight-normal user-select-none cursor-pointer",role:"button",tabIndex:0,"aria-expanded":s===e.id,onClick:r,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),r())},children:[(0,W.jsxs)("div",{className:"d-flex flex-column flex-grow-1 px-2",style:{gap:"2px",minWidth:0},children:[(0,W.jsx)("div",{children:e.name}),(0,W.jsx)("div",{className:"nowrap-ellipsis",style:Ox,children:null===(t=e.paths)||void 0===t?void 0:t.join(", ")})]}),(0,W.jsx)("div",{style:{width:"30px"},className:"color-grey3",children:(0,W.jsx)(Kg.D,{style:{transform:s===e.id?"rotate(180deg)":void 0}})})]}),s===e.id&&(0,W.jsx)("div",{className:"px-4 pb-4 page-group__details-container",children:(0,W.jsx)(Rx,{rumConversionTrigger:e,onUpdate:v,onDelete:f})})]},e.id)}),(0,W.jsx)("button",{className:"btn btn-primary btn-sm ml-3 mt-3 mb-3",onClick:h,disabled:i||!(null!=m&&m.canEdit),"data-testid":"create-rum-conversion-trigger-button",children:"Create Conversion Trigger"}),r.filter(e=>{var t;return(null===(t=e.paths)||void 0===t?void 0:t.length)>0}).length>0&&(0,W.jsx)("div",{className:"pl-3 pb-3 pt-1",children:(0,W.jsx)(Ex,{rumConversionTriggers:r})})]})}function Ex(e){let t=e.rumConversionTriggers;const r=Fx((0,B.useState)(""),2),n=r[0],i=r[1];let o=n.split("?")[0];var a,l;n.startsWith("http")&&(o=null!==(a=null===(l=(0,I.A)(n))||void 0===l?void 0:l.pathname)&&void 0!==a?a:o);const s=(c=o,t.map(e=>{var t;return{name:e.name,paths:null!==(t=e.paths)&&void 0!==t?t:[]}}).filter(e=>(e.paths||[]).filter(e=>e).some(e=>jx(e,!0).test(c))).map(e=>e.name));var c;return(0,W.jsx)(dp.F,{title:"Test Conversion Trigger Rules",titleClassName:"color-grey2 scale-small-1",children:(0,W.jsxs)("div",{className:"row mt-3",children:[(0,W.jsx)("div",{className:"col-md-6",children:(0,W.jsxs)("form",{onSubmit:e=>e.preventDefault(),style:{maxWidth:"100%"},children:[(0,W.jsx)("label",{className:"mt-0",children:"Path or URL"}),(0,W.jsx)("input",{value:n,className:"mt-1",placeholder:"/order-confirmation/123",onChange:e=>i(e.target.value),style:{padding:4},"data-testid":"rum-conversion-trigger-test-input"})]})}),(0,W.jsxs)("div",{children:[(0,W.jsx)("label",{className:"scale-small-1 color-coldGrey1",children:"Conversions"}),(0,W.jsx)("div",{style:{marginTop:2,lineHeight:"1em"},"data-testid":"rum-conversion-trigger-test-result",children:s.length?s.join(", "):"None"})]})]})})}function Rx(e){let t=e.rumConversionTrigger,r=e.onUpdate,n=e.onDelete;const i=Fx((0,B.useState)(!1),2),o=i[0],a=i[1],l=Fx((0,B.useState)(!1),2),s=l[0],c=l[1],d=(0,B.useRef)();return(0,B.useEffect)(()=>()=>clearTimeout(d.current),[]),(0,W.jsx)("div",{"data-rum-conversion-trigger-id":t.id,"data-testid":"rum-conversion-trigger-details",children:(0,W.jsx)("div",{className:"row",children:(0,W.jsx)("div",{className:"col-md my-3",children:(0,W.jsx)(U.l1,{initialValues:t,onSubmit:async function(e){a(!0);try{await u.FH.updateRumConversionTrigger(e.id,(0,T.omit)(e,"id")),r(e),c(!0),d.current=setTimeout(()=>c(!1),1500)}finally{a(!1)}},children:e=>{let r=e.handleSubmit;return(0,W.jsxs)("form",{onSubmit:r,className:"wide-form",style:{maxWidth:600},children:[(0,W.jsx)(yt.u,{name:"name",label:"Name",validate:(0,xt.hF)("Name"),showValidationMessage:!0,"data-testid":"rum-conversion-trigger-name"}),(0,W.jsx)(yx.t,{name:"paths",label:"URL Paths",tooltipContent:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("p",{className:"mt-0",children:["Supports wildcards like ",(0,W.jsx)("code",{children:"/checkout/**"})," or"," ",(0,W.jsx)("code",{children:"/order-confirmation"}),". A conversion is recorded when the visitor's path matches any of them."]}),(0,W.jsxs)("p",{className:"mb-0",children:["Single ",(0,W.jsx)("code",{children:"*"})," only matches one segment,"," ",(0,W.jsx)("code",{children:"**"})," matches everything."]})]}),validate:Tx,placeholder:"/order-confirmation/*",testId:"rum-conversion-trigger-paths"}),(0,W.jsx)(v.J,{isSubmitting:o,success:s,title:"Save Conversion Trigger",testName:"rum-conversion-trigger-save",children:(0,W.jsx)("button",{type:"button",className:"btn btn-link",onClick:()=>n(t),style:{fontSize:13},children:"Delete Trigger"})})]})}})})})})}var Ux=r(50772),Bx=r(99135),$x=r(52005),Vx=r(66039),Hx={};Hx.styleTagTransform=ve(),Hx.setAttributes=pe(),Hx.insert=ue().bind(null,"head"),Hx.domAPI=ce(),Hx.insertStyleElement=he(),le()(Vx.A,Hx),Vx.A&&Vx.A.locals&&Vx.A.locals;var Wx=r(63071),Gx={};function zx(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function qx(e){let t=e.rumSnippet;const r=(o=B.useState(!1),a=2,function(e){if(Array.isArray(e))return e}(o)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(o,a)||function(e,t){if(e){if("string"==typeof e)return zx(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?zx(e,t):void 0}}(o,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),n=r[0],i=r[1];var o,a;return B.useEffect(()=>{i(!t.hasConfirmedPresampling)},[t.presampling,t.hasConfirmedPresampling]),n?(0,W.jsxs)("div",{className:"alert alert-warning confirm-presampling-alert","data-testid":"rum-config-confirm-presampling",children:[(0,W.jsxs)("div",{className:"d-flex align-items-center",children:["Update your snippet for the changes to take effect."," ",(0,W.jsx)(x.c,{content:"For sampling rates below 5% your embed code changes when making a larger change to your sampling rate.",href:"/docs/rum/setup#low-sampling-rates-below-5",style:{marginLeft:4}})]}),(0,W.jsx)("button",{className:"btn btn-primary",onClick:function(){i(!1),u.FH.confirmRumSnippetPresampling(t.id).catch(()=>{i(!0)})},"data-testid":"rum-config-confirm-presampling-submit",children:"OK"})]}):null}Gx.styleTagTransform=ve(),Gx.setAttributes=pe(),Gx.insert=ue().bind(null,"head"),Gx.domAPI=ce(),Gx.insertStyleElement=he(),le()(Wx.A,Gx),Wx.A&&Wx.A.locals&&Wx.A.locals;const Xx="Track SPA Soft Navigations Individually",Kx="/docs/rum/spa-real-user-monitoring",Yx="Report each client-side JavaScript navigation as its own page view.\n\nThis provides more detailed tracking for single page apps (SPAs), and increases the number of page views that are tracked.",Jx=`${Yx}\n\nYou will likely see better Core Web Vitals metrics after enabling this. Filter out visits with a View Type of Soft Navigation to only look at the initial full page load.`;function Qx(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Zx(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Zx(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Zx(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ey(e){const t=e.config.sendTo||"";return t.includes("localhost:7250")?`http://localhost:7250/${e.key}.js`:t.includes("eu-cdn.debugbear.com")?`https://eu-cdn.debugbear.com/${e.key}.js`:`${t.includes("localhost")?`${window.location.origin}/localOnly/local-cloud-storage/dbb-rum-cdn`:"https://cdn.debugbear.com"}/${e.key}.js`}function ty(e){var t,r;let n=e.rumSnippet,i=e.style,o=void 0===i?"simple":i,a=e.onInstalled;const s=Qx(B.useState(!1),2),c=s[0],d=s[1],m=Qx(B.useState(null),2),p=m[0],g=m[1],h=Qx(B.useState(null),2),f=h[0],v=h[1],b=(0,l.O)(),x=b.project,y=b.patchProjectState,w=!(null===(t=n.config)||void 0===t||null===(t=t.privacy)||void 0===t||!t.sessions),S=!(null===(r=n.config)||void 0===r||!r.spa),_=Qx(B.useState(null),2),k=_[0],C=_[1];B.useEffect(()=>()=>{f&&f()},[f]);const N=async(e,t)=>{const r=await u.FH.updateRumSnippet(String(n.id),{config:t});x&&y({...x,rumSnippet:r}),C(e),setTimeout(()=>C(null),1500)};let I=function(e){let t=e.presampling,r=e.snippetUrl,n=e.rumErrorTracking;const i=t<100;if(!i&&!n)return`<script async src="${r}"><\/script>`;const o=`\n      var d = "dbbRum",\n       w = window,\n       o = document,${n?"\n       a = addEventListener,":""}
1\n       scr = o.createElement("script");\n       scr.async = !0;\n      w[d] = w[d]||[];\n      ${i?'w[d].push(["presampling",dbpr]);':""}\n      ${n?'\n      ["error", "unhandledrejection"].forEach(function(t){\n         a(t, function(e) {w[d].push([t, e])});\n      });\n':""}\n      scr.src = "${r}";\n      o.head.appendChild(scr);\n`;return`<script>(function(){${i?`\n    var dbpr = ${t};\n    if(Math.random()*100>100-dbpr){${o}}\n`:o}})()<\/script>`.replace(/\n/g,"").replace(/ = /g,"=").replace(/,\s+/g,",").replace(/ => /g,"=>").replace(/\)\s+/g,")").replace(/}\s+/g,"}").replace(/{\s+/g,"{").replace(/\s+var/g,"var").replace(/;\s+/g,";")}({snippetUrl:ey(n),presampling:n.presampling,rumErrorTracking:n.errorTrackingEnabled});const T=(0,W.jsx)("pre",{className:"mb-0",style:{whiteSpace:"normal",wordBreak:"break-all"},children:I});return(0,W.jsx)(W.Fragment,{children:(0,W.jsxs)(j.U5,{style:{minWidth:0},className:`rum-code-snippet ${o}`,boxHeading:!0,padded:!1,title:"Install RUM Analytics Snippet",moreInfoContent:"Add the snippet to your website template or tag manager to start collecting data.",moreInfoHref:"/docs/rum/setup#install-the-debugbear-rum-snippet-on-your-website",children:[1==p&&(0,W.jsxs)("div",{className:"p-3",children:[(0,W.jsx)(mr._,{style:{stroke:"#0D6B9D"}}),(0,W.jsx)($x.R,{title:"Setup complete!",fontScale:"base",addHorizontalPadding:!1}),(0,W.jsx)("p",{className:"mb-3 "+("simple"==o?"color-coldGrey1 scale-small-1":""),children:"You're ready to track and optimize your Core Web Vitals."}),(0,W.jsx)($.N_,{className:"btn btn-primary",to:A.DS.projectRumUrl(n.projectId,"trends",{device:""},{infoSelection:"views"}),children:"View Data Now"})]}),!p&&(0,W.jsxs)(W.Fragment,{children:["extended"===o&&(0,W.jsxs)("div",{className:"d-flex align-items-center px-3 py-2 border-color-eee",style:{borderBottom:"1px solid"},children:[(0,W.jsxs)("div",{children:[(0,W.jsx)(ry,{label:"Use Cookie For Session Tracking",moreInfoContent:"Use a cookie to track visits across page views. This lets us measure session duration, conversion rates, and link multiple page views from the same visitor together.",moreInfoHref:"/docs/rum/conversion-tracking",checked:w,wasJustSaved:"sessions"===k,onChange:e=>{var t;N("sessions",{...n.config,privacy:{...(null===(t=n.config)||void 0===t?void 0:t.privacy)||{},sessions:e}})}}),(0,W.jsx)(ry,{label:Xx,className:"mt-1",moreInfoContent:Yx,moreInfoHref:Kx,checked:S,wasJustSaved:"spa"===k,onChange:e=>{N("spa",{...n.config,spa:e})}})]}),(0,W.jsx)($.N_,{className:"ml-auto color-coldGrey1 scale-small-1",to:"?showFullSettings",children:"Show Full RUM Settings UI"})]}),(0,W.jsxs)("div",{className:"p-3",children:["extended"===o&&(0,W.jsx)(Bx.b,{}),(0,W.jsxs)("p",{className:"mb-3 "+("simple"==o?"color-coldGrey1 scale-small-1":""),children:["Add this code snippet to your website to start collecting web vitals data.",(0,W.jsx)("br",{}),"Place it in the HTML head tag or load it through a tag manager."]}),(0,W.jsxs)("code",{className:"color-coldGrey2 p-3 d-flex align-items-start code-snippet",style:{fontFamily:"monospace",borderRadius:6,textAlign:"left",fontSize:13},"data-testid":"rum-configuration-code",children:[(0,W.jsx)("div",{children:T}),(0,W.jsxs)("button",{className:"copy-rum-snippet-button justify-content-center align-self-center",onClick:async()=>{await navigator.clipboard.writeText(I),d(!0),setTimeout(()=>{d(!1)},2e3)},children:[c?null:(0,W.jsx)(Vc.j,{}),(0,W.jsx)("div",{className:"ml-2",children:c?"Copied!":"Copy"})]})]}),null==n.installationConfirmedAt&&null==f&&(0,W.jsx)("div",{className:"text-center mt-4",children:(0,W.jsxs)("button",{className:"btn btn-primary",onClick:()=>{const e=function(e){let t;return{promise:new Promise(r=>{async function n(){try{const n=await u.FH.checkRumSnippetInstall(e);n.installationConfirmedAt&&(clearInterval(t),r(n.installationConfirmedAt))}catch(e){clearInterval(t)}}n(),t=setInterval(n,5e3)}),cancel:()=>clearInterval(t)}}(n.id);v(()=>e.cancel),e.promise.then(()=>{g(!0),a&&a()})},children:[(0,W.jsx)(ep.S,{}),(0,W.jsx)("span",{className:"ml-2",children:"I've Installed The Snippet"})]})}),f&&(0,W.jsxs)("div",{className:"d-flex justify-content-center align-items-center mt-3 p-3",children:[(0,W.jsx)("div",{className:"mr-2",style:{lineHeight:"1em"},children:(0,W.jsx)(kt.v,{})}),(0,W.jsx)("p",{className:"m-0",children:"Waiting for real user data..."})]})]})]}),(0,W.jsx)(qx,{rumSnippet:n})]})})}function ry(e){let t=e.label,r=e.moreInfoContent,n=e.moreInfoHref,i=e.checked,o=e.onChange,a=e.wasJustSaved,l=e.className,s=void 0===l?"":l;return(0,W.jsxs)("label",{className:`mb-0 d-flex align-items-center ${s}`,children:[(0,W.jsx)("input",{type:"checkbox",className:"checkbox mr-1",checked:i,onChange:e=>o(e.target.checked)}),t,(0,W.jsx)("span",{className:"ml-1 d-flex align-items-center",children:(0,W.jsx)(x.c,{content:r,href:n})}),a&&(0,W.jsx)("span",{className:"ml-2 d-flex align-items-center rum-setup-saved-check",children:(0,W.jsx)(ep.S,{size:14})})]})}function ny(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function iy(e){let t=e.project,r=e.snippetKey;const n=(a=B.useState((new Date).toISOString().split("T")[0]),l=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(a,l)||function(e,t){if(e){if("string"==typeof e)return ny(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ny(e,t):void 0}}(a,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=n[0],o=n[1];var a,l;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(f.w,{children:(0,W.jsxs)(j.U5,{children:["Script version: ",t.rumSnippet.config.scriptVersion," | Set:",["stable","next"].map(e=>(0,W.jsx)("button",{className:"btn btn-primary btn-xs ml-2",onClick:r=>{const n=r.target;n.disabled=!0,n.style.background="gray",u.FH.updateRumSnippet(t.rumSnippet.id,{config:{...t.rumSnippet.config,scriptVersion:e}}).then(()=>n.style.background="green")},children:e},e)),(0,W.jsx)("pre",{style:{overflow:"auto",maxHeight:300,fontSize:12,background:"#f8f9fa"},children:JSON.stringify(t.rumSnippet,null,2)}),(0,W.jsxs)("div",{className:"py-2",children:[(0,W.jsx)("div",{style:{fontWeight:700},children:"View RUM Alert Email"}),(0,W.jsx)("div",{children:(0,W.jsxs)("a",{href:`/debugbearadmin/rumAlert/${r}?alertTime=${i}`,target:"_blank",rel:"noopener noreferrer",children:["View Alerts for ",new Date(i).toLocaleDateString()]})}),(0,W.jsx)("input",{type:"date",value:i,onChange:e=>o(e.target.value)})]})]})}),(0,W.jsx)(oy,{snippetKey:r}),(0,W.jsx)(f.w,{children:(0,W.jsx)("button",{className:"btn btn-primary mt-2",onClick:()=>{confirm("really")&&u.FH.deleteRumSnippet(t.rumSnippet.id).then(()=>alert("done"))},children:"Delete rum snippet"})})]})}function oy(e){let t=e.snippetKey;return!location.hostname.includes("localhost")||(0,c.v)().hideLocalHostRumMessage?null:(0,W.jsxs)(j.U5,{children:[(0,W.jsx)($x.R,{title:"On localhost",fontScale:"base",addHorizontalPadding:!1}),(0,W.jsxs)("div",{className:"row",children:[(0,W.jsxs)("div",{className:"col-md-6",children:[(0,W.jsx)("a",{href:"/localOnly/installRumSnippet/"+t,"data-testid":"install-local-rum",className:"btn btn-primary btn-sm",children:"Install snippet on localhost"})," ",(0,W.jsx)("p",{className:"scale-small-1 color-coldGrey1 mb-0 mt-1",children:"Keep in mind this is a cookie based setting. Opening an incognito window or running in a different browser will mean there will be no cookie initially and it will fallback the global setting from whenever install snippet on localhost was last run. Re-run the install snippet on localhost to ensure RUM views are recorded against the correct snippet."}),(0,W.jsx)("h2",{className:"pt-2 mb-1",children:"Delete data"}),(0,W.jsx)("a",{href:`/localOnly/clearRumData/${t}`,children:"Delete data for this snippet"})]}),(0,W.jsxs)("div",{className:"col-md-6",children:[(0,W.jsx)("h2",{className:"pt-2 mb-1",children:"Insert page view"}),(0,W.jsx)("p",{className:"scale-small-1 color-coldGrey1 mb-0 mt-1",children:"Insert page view JSON from prod or collect JSON manually"}),(0,W.jsx)("a",{href:"/localOnly/insertRumDataForm",className:"btn btn-primary btn-xs",children:"Form to insert a single experience"})," ",(0,W.jsx)("h2",{className:"pt-2 mb-1",children:"Insert RUM Demo data"}),(0,W.jsx)("p",{className:"scale-small-1 color-coldGrey1 mb-0 mt-1",children:"From our public demo site"}),(0,W.jsx)("a",{href:"/cron/insertRumDemoExperiences",children:"Normal"}),"  ","|"," ",(0,W.jsx)("a",{href:"/cron/insertRumDemoExperiences?count=1000&overNHours=336",children:"Distributed over a longer time period"})]})]})]})}function ay(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ly(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ly(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ly(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function sy(){return(0,W.jsxs)("div",{children:[(0,W.jsx)("span",{className:"pr-1",children:"Request URL Match"}),(0,W.jsx)(x.c,{style:{verticalAlign:"text-top"},inheritColor:!0,content:(0,W.jsxs)("div",{children:[(0,W.jsx)("p",{className:"mt-0 mb-2",children:"Identify a request containing this string. You can also use wildcards."}),(0,W.jsxs)("p",{className:"mb-0",children:["For example, ",(0,W.jsx)("code",{children:"myFile_v4.*.1.js"})," matches"," ",(0,W.jsx)("code",{children:"https://example.com/myFile_v4.2.1.js"})," and"," ",(0,W.jsx)("code",{children:"https://other.com/myFile_v4.99.1.js"}),"."]})]})})]})}function cy(e){let t=e.collects;return(0,W.jsxs)("div",{children:[(0,W.jsx)("span",{className:"pr-1",children:"Server Timing Name"}),(0,W.jsx)(x.c,{style:{verticalAlign:"text-top"},inheritColor:!0,content:(0,W.jsxs)("div",{children:[(0,W.jsxs)("p",{className:"mt-0 mb-2",children:["The name of an entry in the ",(0,W.jsx)("code",{children:"Server-Timing"})," response header of the document request. You can also use wildcards."]}),(0,W.jsxs)("p",{className:"mb-0",children:["For example, given"," ",(0,W.jsx)("code",{children:'db;dur=204;desc="primary"'}),", the name"," ",(0,W.jsx)("code",{children:"db"})," collects"," ","duration"===t?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("code",{children:"204"})," (the ",(0,W.jsx)("code",{children:"dur"})," value, in milliseconds)."]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("code",{children:"primary"})," (the ",(0,W.jsx)("code",{children:"desc"})," value)."]})]})]})})]})}const dy={tag:{tag1:"Tag 1",tag2:"Tag 2",tag3:"Tag 3",tag4:"Tag 4",tag5:"Tag 5"},metric:{metric1:"Custom Metric 1",metric2:"Custom Metric 2",metric3:"Custom Metric 3",metric4:"Custom Metric 4",metric5:"Custom Metric 5"}},uy={tag:{urlQueryParam:"URL Query Parameter",serverTimingDescription:"Server Timing Description"},metric:{requestDuration:"Request Duration",requestStartTime:"Request Start Time",requestEndTime:"Request End Time",performanceMark:"Performance.mark call",performanceMeasure:"Performance.measure call",serverTimingDuration:"Server Timing Duration"}},my={tag:{label:{urlQueryParam:"Query Parameter Name",serverTimingDescription:(0,W.jsx)(cy,{collects:"description"})},placeholder:{urlQueryParam:"Query Parameter Name",serverTimingDescription:"Server timing name"}},metric:{label:{requestDuration:(0,W.jsx)(sy,{}),requestStartTime:(0,W.jsx)(sy,{}),requestEndTime:(0,W.jsx)(sy,{}),performanceMark:"User Timing Name",performanceMeasure:"User Timing Name",serverTimingDuration:(0,W.jsx)(cy,{collects:"duration"})},placeholder:{requestDuration:"Request URL match",requestStartTime:"Request URL match",requestEndTime:"Request URL match",performanceMark:"User timing name",performanceMeasure:"User timing name",serverTimingDuration:"Server timing name"}}};function py(e){var t;let r=e.snippet,n=e.mappingType;const i=ay((0,B.useState)(!1),2),o=i[0],a=i[1],s=B.useContext(l.v),c=s.project,m=s.patchProjectState,p=(0,Or.n)().getUrlWithAddedFilters,g=(0,T.orderBy)(r.rumCustomMappings.filter(e=>e.mapping.startsWith(n)),["mapping"]),f=Object.keys(dy[n]).map(e=>({label:dy[n][e],value:e,isDisabled:-1!==g.findIndex(t=>t.mapping==e)})),v=null===(t=f.find(e=>0==e.isDisabled))||void 0===t?void 0:t.value,b=B.useCallback(function(e){const t={...c,rumSnippet:{...c.rumSnippet,rumCustomMappings:e}};m(t)},[m,c]),x=B.useMemo(()=>function(e){const t=(0,im.j)(r.rumCustomMappings,e);b(t)},[r.rumCustomMappings,b]);function y(e){return async function(t){if(t.stopPropagation(),window.confirm(`Are you sure you want to delete the "${e.name}" ${n}?`)){t.target.remove(),await u.FH.customMapping.delete(e.id);const n=(0,im.b)(r.rumCustomMappings,e.id);b(n)}}}return(0,W.jsxs)("div",{children:[(0,W.jsx)(h.mY,{testName:"rum-custom-mappings",items:g,expandNewItems:!0,borderBottomForLastRow:!0,columns:{name:{heading:{title:"Name",style:{width:"50%"}},render(e){var t,r;return(0,W.jsxs)("div",{className:"group d-flex align-items-center",children:[e.name,p&&"tag"==n&&(0,W.jsx)($.N_,{to:(0,_.Ao)(A.DS.projectRumUrl(null!==(t=null==c?void 0:c.id)&&void 0!==t?t:0,"trends",{},{infoSelection:"table"}),{...(0,d.u)(),groupBy:e.mapping}),className:"show-on-group-hover d-flex ml-auto mr-2 link-blue-on-hover",children:(0,W.jsx)(wx.M,{})}),"metric"==n&&(0,W.jsx)("div",{className:"show-on-group-hover ml-auto mr-2 ",children:(0,W.jsx)($.N_,{to:`/project/${null!==(r=null==c?void 0:c.id)&&void 0!==r?r:0}/rum/${e.mapping}`,className:"d-flex link-blue-on-hover",children:(0,W.jsx)(bs.G,{})})})]})}},mapping:{heading:{title:"Mapping"},render:e=>(0,W.jsx)("div",{children:e.mapping})},autoCollection:{heading:{title:"Auto Collection"},render:e=>(0,W.jsx)("div",{children:uy[n][e.autoCollectionType]})},delete:{heading:{title:"Delete",style:{width:80},alignRight:!0},render:e=>(0,W.jsx)(ur.K,{icon:"cancel",onClick:y(e)})}},extraProps:{mappingType:n,customMappingOptions:f,onUpdate:x},ItemDetailsRenderer:gy,noDetailsPadding:!0}),(0,W.jsxs)("button",{className:"btn btn-primary btn-sm ml-3 my-3",onClick:async function(){if(!v)return void alert(`${(0,N.sK)(n)} limit reached, try deleting or editing an existing ${n}`);a(!0);const e=await u.FH.customMapping.create(r.id,{name:`My ${n}`,mapping:v,description:"",autoCollectionType:null,autoCollectionParam:null});b([...r.rumCustomMappings,e]),a(!1)},disabled:o||!(null!=c&&c.canEdit),"data-testid":`create-rum-custom-${n}-button`,children:["Create ",(0,N.sK)(n)]})]})}function gy(e){let t=e.item,r=e.mappingType,n=e.customMappingOptions,i=e.onUpdate;const o=ay((0,B.useState)(!1),2),a=o[0],l=o[1],s=ay((0,B.useState)(!1),2),c=s[0],d=s[1];n.map(e=>{e.value==t.mapping&&(e.isDisabled=!1)});const m=[{value:null,label:"Manual via RUM Snippet API"},...Object.keys(uy[r]).map(e=>({value:e,label:uy[r][e]}))];return(0,W.jsx)("div",{"data-rum-custom-mapping-id":t.id,"data-testid":"rum-custom-mapping-details",className:"p-3",children:(0,W.jsx)(U.l1,{initialValues:t,onSubmit:async function(e){l(!0),await u.FH.customMapping.update(e),i(e),l(!1),d(!0),setTimeout(()=>{d(!1)},2e3)},children:e=>{let t=e.handleSubmit,i=e.values,o=e.setFieldValue;return(0,W.jsxs)("form",{onSubmit:t,className:"wide-form",style:{maxWidth:600},children:[(0,W.jsxs)("div",{className:"row align-items-baseline",children:[(0,W.jsx)("div",{className:"col-4",children:(0,W.jsxs)("div",{"data-testid":"rum-custom-mapping-selection",children:[(0,W.jsxs)("label",{className:"mt-0",children:["Custom ",r]}),(0,W.jsx)(Dt.l,{name:"mapping",value:n.find(e=>e.value==i.mapping),onChange:e=>{o("mapping",e?e.value:null)},options:n})]})}),(0,W.jsx)("div",{className:"col-8",children:(0,W.jsx)(yt.u,{labelMarginTop:0,name:"name",label:"Name",validate:(0,xt.hF)("Name"),showValidationMessage:!0,"data-testid":"rum-custom-mapping-name",style:{paddingTop:"0.4rem",paddingBottom:"0.4rem"}})})]}),(0,W.jsx)("div",{children:(0,W.jsx)(yt.u,{name:"description",label:"Description",showValidationMessage:!0,placeholder:`Enter a description for this custom ${r}`})}),(0,W.jsxs)("div",{"data-testid":"rum-custom-mapping-collection-type",children:[(0,W.jsx)("label",{children:"Data Collection"}),(0,W.jsx)(Dt.l,{name:"autoCollectionType",value:m.find(e=>e.value==i.autoCollectionType),onChange:e=>{o("autoCollectionType",e?e.value:null)},options:m})]}),i.autoCollectionType&&(0,W.jsx)("div",{children:(0,W.jsx)(yt.u,{name:"autoCollectionParam",label:my[r].label[i.autoCollectionType],showValidationMessage:!0,placeholder:`Enter a ${my[r].placeholder[i.autoCollectionType]}
1`,"data-testid":"rum-custom-mapping-collection-param"})}),(0,W.jsx)(v.J,{isSubmitting:a,title:"Save",testName:"rum-custom-mapping-save",success:c})]})}})})}const hy=["extraLabelContent","label","name","placeholder","validate","rewriteEnteredValue","tooltipContent","tooltipHref","topRightContent"];function fy(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function vy(e){let t=e.extraLabelContent,r=e.label,n=e.name,i=e.placeholder,o=e.validate,a=e.rewriteEnteredValue,l=e.tooltipContent,s=e.tooltipHref,c=e.topRightContent,d=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,hy);const u=(0,U.j7)();u.registerField(n,{validate:o});const m=(0,T.get)(u.values,n)||[],p=(y=B.useState(""),j=2,function(e){if(Array.isArray(e))return e}(y)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(y,j)||function(e,t){if(e){if("string"==typeof e)return fy(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?fy(e,t):void 0}}(y,j)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=p[0],h=p[1],f=(0,T.get)(u.errors,n),v=e=>({label:e,value:e}),b=m.map(e=>v(e));var y,j;function w(e){const t=e.map(e=>e.value),r=t[t.length-1];a&&r&&(t[t.length-1]=a(r)),u.setFieldValue(n,t)}return(0,W.jsxs)(B.Fragment,{children:[(0,W.jsxs)("div",{className:"d-flex",children:[(0,W.jsxs)("label",{className:"d-flex align-items-center",children:[r," ",t," ",l&&(0,W.jsx)(x.c,{content:l,href:s,style:{marginLeft:4}})]}),c&&(0,W.jsx)("div",{className:"ml-auto",children:c})]}),(0,W.jsx)(Li.A,{name:n,components:{DropdownIndicator:null},inputValue:g,isClearable:!0,isMulti:!0,menuIsOpen:!1,onChange:e=>{w(e)},onInputChange:e=>h(e),onKeyDown:function(e){if(g)switch(e.key){case"Enter":case"Tab":w([...b,v(g)]),h(""),e.preventDefault()}},placeholder:i,value:b,classNamePrefix:"react-select",className:"react-select-container",onBlur:function(){g&&(w([...b,v(g)]),h(""))},styles:{control:(e,t)=>({...e,padding:"0.5rem 0.75rem",fontSize:"1rem",border:"1px solid "+(t.isFocused?"#044262":"#e9e9e9"),boxShadow:"none","&:hover":{border:"1px solid "+(t.isFocused?"#044262":"#e9e9e9")}}),input:e=>({...e,paddingTop:0,paddingBottom:0,margin:0}),valueContainer:e=>({...e,padding:0}),multiValue:e=>({...e,marginLeft:0}),multiValueLabel:e=>({...e,padding:0}),indicatorsContainer:e=>({...e,margin:"-8px"})},...d}),(0,W.jsx)(bt.H,{error:f})]})}var by=r(20202);function xy(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function yy(){const e=(0,l.O)(),t=e.project,r=e.patchProjectState,n=(a=(0,B.useState)(!1),s=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(a,s)||function(e,t){if(e){if("string"==typeof e)return xy(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?xy(e,t):void 0}}
1(a,s)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=n[0],o=n[1];var a,s;return null!=t&&t.rumSnippet?(0,W.jsx)(j.U5,{title:"Settings",moreInfoContent:"Learn how to set up real user monitoring on your website.",moreInfoHref:"/docs/rum/setup",boxHeading:!0,children:(0,W.jsx)(U.l1,{initialValues:t.rumSnippet,enableReinitialize:!0,onSubmit:(e,n)=>{if(t.rumSnippet.errorTrackingEnabled||!e.errorTrackingEnabled||confirm("Enabling error tracking is a one-way operation and will require you to deploy an updated version of your RUM snippet to work. Do you want to continue?"))return u.FH.updateRumSnippet(e.id,{config:e.config,errorTrackingEnabled:e.errorTrackingEnabled}).then(e=>{const i={...t,rumSnippet:e};r(i),n.setSubmitting(!1),o(!0),setTimeout(()=>{o(!1)},1500)});n.setSubmitting(!1)},children:e=>{let r=e.isSubmitting,n=e.handleSubmit,o=e.values,a=e.setFieldValue,l=e.initialValues;return(0,W.jsxs)("form",{onSubmit:n,style:{maxWidth:"100%"},children:[(0,W.jsx)(yt.u,{labelMarginTop:0,name:"config.sampling",label:"Sampling Rate %",validate:(0,xt._p)({allowEmptyString:!1}),showValidationMessage:!0,"data-testid":"rum-config-sampling",tooltipHref:"/docs/rum/setup#set-your-sampling-rate",tooltipContent:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("p",{children:"Recording only a percentage of page views reduces your RUM quota consumption."}),(0,W.jsx)("p",{children:"For example, if your website gets 10 million views you can set the sampling rate to 10% and only pay for 1 million tracked page views per month."})]})}),(0,W.jsx)("div",{className:"mt-2",children:(0,W.jsx)(Rs._,{name:"config.privacy.sessions",title:"Session Tracking (With Cookie)",variant:"checkbox",moreInfo:{content:"Track visits across page views and correlate conversion rates with performance metrics.",href:"/docs/rum/conversion-tracking"}})}),(0,W.jsx)("div",{className:"mt-2",children:(0,W.jsx)(Rs._,{name:"config.spa",title:Xx,variant:"checkbox",className:"mt-1",moreInfo:{content:Jx,href:Kx}})}),!0!==l.errorTrackingEnabled?(0,W.jsx)(Rs._,{name:"errorTrackingEnabled",title:"Enable Error Tracking",variant:"checkbox",className:"mt-1",moreInfo:{content:"Enable error tracking to see JavaScript errors from your tracked pages in the DebugBear dashboard."}}):null,(0,W.jsx)("div",{className:"mt-3",children:(0,W.jsxs)(dp.F,{title:"Domain Names",titleClassName:"color-grey2 scale-small-1",moreInfo:{content:"Learn more about what data DebugBear collects and how to configure it.",href:"/docs/rum/data-privacy"},startExpanded:(o.config.domains||[]).length>0,children:[(0,W.jsx)(vy,{name:"config.domains",label:"Domains",placeholder:"Enter domain names",tooltipContent:"Only collect data from specific domains, for example to track data on production only but not in your staging environment. If no domains are specified then data coming from any domain is accepted.",validate:xt.Uv,tooltipHref:"/docs/rum/setup#domain-settings",topRightContent:(0,W.jsxs)("label",{className:"d-flex align-items-center",style:{userSelect:"none"},children:[(0,W.jsx)("input",{type:"checkbox",className:"checkbox",checked:o.config.includeSubdomains,onChange:()=>{a("config.includeSubdomains",!o.config.includeSubdomains)}})," Include Subdomains"]}),rewriteEnteredValue:e=>{const t=(0,I.A)(e);if(null!=t&&t.hostname)return t.hostname;{let t=e.toLowerCase();return t.startsWith("https://")&&(t=t.replace("https://","")),t.startsWith("http://")&&(t=t.replace("http://","")),t}}}),(0,W.jsx)(jy,{domains:o.config.domains,project:t,includeSubdomains:o.config.includeSubdomains})]})}),(0,W.jsx)("div",{className:"mt-2",children:(0,W.jsx)(dp.F,{title:"Privacy Controls",titleClassName:"color-grey2 scale-small-1",moreInfo:{content:"Learn more about what data DebugBear collects and how to configure it.",href:"/docs/rum/data-privacy"},children:(0,W.jsxs)("div",{className:"mt-2",children:[(0,W.jsx)(Rs._,{name:"config.privacy.text",className:"mt-1",title:"Collect Element Text",variant:"checkbox",moreInfo:{content:"Collect text to identify page elements, for\n                              example to identify the LCP element or the\n                              interaction that triggered the INP interaction\n                              delay."}}
1),(0,W.jsx)(Rs._,{name:"config.privacy.selectors",className:"mt-1",title:"Collect CSS Selectors",variant:"checkbox",moreInfo:{content:"\n                              Collect CSS selectors to identify page\n                              elements, for example to identify the LCP\n                              element or the interaction that triggered\n                              the INP interaction delay.\nThis setting is required to render the\n                              element screenshots."}}),(0,W.jsx)(Rs._,{name:"config.privacy.queryParams",title:"Collect URL Query Parameters",variant:"checkbox",className:"mt-1",moreInfo:{content:"Collect URL query parameters that are not explicitly blocklisted."}}),(0,W.jsx)(Rs._,{name:"config.privacy.engagement",title:"Track Engagement",variant:"checkbox",className:"mt-1",moreInfo:{content:"Collect page interactions like clicks or\n                            whether the user scrolled down the page. This\n                            settings also decides whether single-page app\n                            navigations are recorded."}})]})})}),(0,W.jsx)("div",{className:"mt-2",children:(0,W.jsxs)(dp.F,{title:"Proxy Setup",titleClassName:"color-grey2 scale-small-1",startExpanded:!hr.Et.includes(o.config.sendTo),moreInfo:{content:"Advanced: proxy the RUM snippet for improved privacy and to data getting blocked by ad blockers.",href:"/docs/rum/proxy"},children:[(0,W.jsx)("div",{className:"mt-2",children:(0,W.jsx)(yt.u,{name:"config.sendTo",label:"Data Endpoint",showValidationMessage:!0,contentOnRightOfLabel:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("button",{onClick:()=>{a("config.sendTo",location.hostname.includes("localhost")?hr.y0:hr.gA)},className:"btn-link btn-sm scale-small-1",style:{border:"none"},type:"button",children:"Reset Endpoint"}),(0,W.jsx)(f.w,{children:(0,W.jsx)("button",{onClick:()=>{a("config.sendTo",location.hostname.includes("localhost")?"http://localhost:7250/":"https://eu-cdn.debugbear.com/")},className:"btn-link btn-sm scale-small-1",style:{border:"none"},type:"button",children:"GCP Proxy"})})]})})}),(0,W.jsxs)("div",{className:"mt-2",children:[(0,W.jsx)("label",{className:"field-label",children:"RUM Snippet URL"}),(0,W.jsx)("input",{type:"text",readOnly:!0,value:ey(o),className:"color-coldGrey2"})]}),(0,W.jsxs)("div",{className:"mt-2",children:[(0,W.jsx)("label",{className:"field-label",children:"RUM Token"}),(0,W.jsx)("input",{type:"text",readOnly:!0,value:o.xRumToken,className:"color-coldGrey2"})]})]})}),(0,W.jsx)(v.J,{isSubmitting:r,title:"Save Settings","data-testid":"rum-config-submit",disabled:!t.canEdit,success:i})]})}},JSON.stringify(t.rumSnippet.config))}):null}function jy(e){let t=e.project,r=e.domains,n=e.includeSubdomains;const i=t.pageLoads||[],o=r||[];if(0===i.length||0===o.length)return null;const a=new Set(i.map(e=>new URL(e.url).hostname));return o.some(e=>n?Array.from(a).some(t=>t.includes(e)):a.has(e))?null:(0,W.jsx)(W.Fragment,{children:(0,W.jsxs)("div",{className:"alert alert-info mt-2",children:[(0,W.jsxs)("div",{className:"d-flex align-items-center mb-1",children:[(0,W.jsx)(by.m,{}),(0,W.jsxs)("div",{className:"ml-2",children:["The RUM domains settings does not match any of the URLs that you've set up in the lab tests."," ",(0,W.jsx)(x.c,{content:"Double-check that the domains setting matches the websites where you intend to collect RUM data."})]})]}),(0,W.jsxs)("div",{className:"scale-small-1",children:["Lab domains: ",Array.from(a).join(", ")]})]})})}var wy=r(85576),Sy=r(40286);function _y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ky(e,t){const r=t>0?t:1;return Math.round(e/r*100)}function Cy(e,t){return t?Math.max(100-Math.round(e/t*100),0):100}function Ay(e,t){return t?Math.round((e-t)/t*100):0}const Ny="#ff006f";function Iy(e){let t=e.children,r=e.endDate,n=e.padded,i=void 0!==n&&n;return(0,W.jsx)(j.U5,{boxHeading:!0,padded:i,title:"RUM Usage",className:"d-flex flex-column",titleChildren:r?(0,W.jsxs)("div",{className:"scale-small-1 color-coldGrey1",children:["Resets On ",(0,at.A)(new Date(r),"dd MMM yyyy")]}):void 0,children:t})}const Ty={status:"loading",byDevice:{mobile:0,desktop:0}};function Dy(e){var t,r,n,i,o,a,l;let s=e.snippetId,c=e.projectId;const d=(0,Sy.$)(c),m=(f=(0,B.useState)(Ty),v=2,function(e){if(Array.isArray(e))return e}(f)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(f,v)||function(e,t){if(e){if("string"==typeof e)return _y(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_y(e,t):void 0}}(f,v)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),p=m[0],g=m[1],h=(0,B.useCallback)(()=>{u.FH.getLiveRumProjectUsageByDevice(s).then(e=>g({...e,status:"loaded"}))},[s]);var f,v;(0,B.useEffect)(()=>{h()},[h]);const b=(0,wy.A)(Object.values(p.byDevice)),y=(j=null!==(t=null==d?void 0:d.usagePeriod.rumPageViewCount)&&void 0!==t?t:0,(w=null!==(r=null==d?void 0:d.usagePeriod.rumPageViewLimit)&&void 0!==r?r:0)?Math.min(100,Math.round(j/w*100)):0);var j,w;const S=(null!==(n=null==d?void 0:d.usagePeriod.rumPageViewCount)&&void 0!==n?n:0)>(null!==(i=null==d?void 0:d.usagePeriod.rumPageViewLimit)&&void 0!==i?i:0),_=(0,B.useMemo)(()=>{var e,t,r,n,i,o,a,l;return"loading"===p.status?[{color:"#ccc",percentage:100,detailText:"Loading...",title:"Loading",valueText:" "}]:0===b?[{color:"#ccc",percentage:100,detailText:"No Data",title:"No Data",valueText:""}]:[{color:"#00b9ff",percentage:ky(null!==(e=null==p||null===(t=p.byDevice)||void 0===t?void 0:t.mobile)&&void 0!==e?e:0,b),detailText:null!==(r=null===(n=p.byDevice.mobile)||void 0===n?void 0:n.toLocaleString())&&void 0!==r?r:"0",title:"Mobile"},{color:"#00ffa9",percentage:ky(null!==(i=null==p||null===(o=p.byDevice)||void 0===o?void 0:o.desktop)&&void 0!==i?i:0,b),detailText:null!==(a=null===(l=p.byDevice.desktop)||void 0===l?void 0:l.toLocaleString())&&void 0!==a?a:"0",title:"Desktop"}]},[p,b]),k=(0,B.useMemo)(()=>null==d?[{color:"#eee",percentage:100,detailText:"Loading...",title:"Loading",valueText:" "}]:[{color:y>90?"#ff8c00":"#00b9ff",percentage:y,detailText:d.usagePeriod.rumPageViewCount.toLocaleString(),title:"Used"},...S?[{color:Ny,percentage:Ay(d.usagePeriod.rumPageViewCount,d.usagePeriod.rumPageViewLimit),detailText:(d.usagePeriod.rumPageViewCount-d.usagePeriod.rumPageViewLimit).toLocaleString(),title:"Over Quota"}]:[{color:y>=100?Ny:"#00ffa9",percentage:Cy(d.usagePeriod.rumPageViewCount,d.usagePeriod.rumPageViewLimit),detailText:(d.usagePeriod.rumPageViewLimit-d.usagePeriod.rumPageViewCount).toLocaleString(),title:"Available"}]],[d,y,S]);return(0,W.jsxs)(Iy,{endDate:null!==(o=null==d?void 0:d.usagePeriod.endDate)&&void 0!==o?o:void 0,padded:!0,children:[(0,W.jsxs)("div",{className:"scale-small-1 color-coldGrey1 mb-1 d-flex",children:[(0,W.jsx)("div",{className:"mr-1",children:"This Project"}),(0,W.jsx)(x.c,{inheritColor:!0,small:!0,content:"Real-time usage data for this project."}),(0,W.jsxs)("div",{className:"ml-auto",children:[(0,N.Ke)(b)," Page View",1===b?"":"s"," Tracked"]})]}),(0,W.jsx)(vu.rl,{title:"RUM Usage In This Project",allowExpansion:!0,height:30,showSomeTitles:!0,marginBottomWhenExpanded:8,valueDisplay:"loaded"!==p.status?"value":"percentage",components:_}),(0,W.jsxs)("div",{className:"scale-small-1 color-coldGrey1 mt-3 mb-1 d-flex",children:[(0,W.jsx)("div",{className:"mr-1",children:"Across Your Account"}),(0,W.jsx)(x.c,{inheritColor:!0,small:!0,content:"Account-wide quota consumption is recalculated a few times per day."}),(0,W.jsxs)("div",{className:"ml-auto",children:[(0,N.B4)(null!==(a=null==d?void 0:d.usagePeriod.rumPageViewCount)&&void 0!==a?a:0)," ","/"," ",(0,N.B4)(null!==(l=null==d?void 0:d.usagePeriod.rumPageViewLimit)&&void 0!==l?l:0)," "]})]}),(0,W.jsx)(vu.rl,{title:"RUM Usage In Your Account",allowExpansion:!0,height:30,showSomeTitles:!0,marginBottomWhenExpanded:8,valueDisplay:"loaded"!==p.status?"value":"percentage",components:k}),(0,W.jsxs)("div",{className:"scale-small-1 color-coldGrey1 mt-1",children:["Based on the last few days you'll track around"," ",(0,N.B4)(null==d?void 0:d.rumProjection)," page views per month across all projects."]})]})}function Py(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Fy(e){var t,r,n;let i=e.project,o=e.reloadProject,a=e.infoSelection;const l=null!==(0,zb.I)().get("showFullSettings"),s=(v=B.useState(!(null===(t=i.rumSnippet)||void 0===t||!t.installationConfirmedAt)),b=2,function(e){if(Array.isArray(e))return e}(v)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(v,b)||function(e,t){if(e){if("string"==typeof e)return Py(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Py(e,t):void 0}}(v,b)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=s[0],p=s[1],g=l||m,h=!!i.rumSnippet,f=!(null===(r=i.rumSnippet)||void 0===r||!r.installationConfirmedAt);var v,b;if(B.useEffect(()=>{var e;!h||null!==(e=i.rumSnippet)&&void 0!==e&&e.installationConfirmedAt||u.FH.checkRumSnippetInstall(i.rumSnippet.id).then(e=>{e.installationConfirmedAt&&(o(),p(!0))})},[h,i.rumSnippet,o]),!h)return(0,W.jsx)(Ux.n,{project:i,reloadProject:o});const x=i.rumSnippet.key,y=e=>A.DS.projectRumUrl(i.id,"config",(0,d.u)(),e),w="showFullSettings"in(0,c.v)()||f?[{title:"Settings",testId:"overview",href:y(),selected:"overview"===a},{title:"Page Groups",testId:"pageGroups",href:y({infoSelection:"pageGroups"}),selected:"pageGroups"===a},{title:"Conversion Triggers",testId:"conversionTriggers",href:y({infoSelection:"conversionTriggers"}),selected:"conversionTriggers"===a},{title:"Tags & Metrics",testId:"tagsAndMetrics",href:y({infoSelection:"tagsAndMetrics"}),selected:"tagsAndMetrics"===a},{title:"Alerts & Budgets",testId:"budgets",href:y({infoSelection:"budgets"}),selected:"budgets"===a}]:[];return(0,W.jsxs)(Vb.p,{project:i,navTabs:w,children:["overview"===a&&(0,W.jsxs)(W.Fragment,{children:[!g&&(0,W.jsxs)("div",{className:"d-flex flex-column justify-content-center mt-3","data-testid":"install-rum-snippet",children:[(0,W.jsx)(iy,{project:i,snippetKey:x}),(0,W.jsx)(ty,{style:"extended",rumSnippet:i.rumSnippet,onInstalled:()=>o()})]}),g&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(iy,{project:i,snippetKey:x}),(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-lg-6 d-flex",children:(0,W.jsx)(yy,{})}),(0,W.jsx)("div",{className:"col-lg-6 d-flex",children:(0,W.jsx)(Dy,{projectId:i.id,snippetId:i.rumSnippet.id})})]}),(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-12",children:(0,W.jsx)(j.U5,{title:"Recent Page Views",boxHeading:!0,padded:!1,titleChildren:(0,W.jsx)($.N_,{to:A.DS.projectRumUrl(i.id,"trends",{},{infoSelection:"views"}),className:"ml-auto scale-small-1",children:"View More"}),children:(0,W.jsx)(Db.WE,{ignoreFilters:!0,project:i,count:5,emptyDataMessage:"There isn't any RUM data available yet. Ensure that you've installed the RUM snippet code on your website."})})}),(0,W.jsx)("div",{className:"col-lg-12 d-flex","data-testid":"install-rum-snippet",children:(0,W.jsx)(ty,{rumSnippet:i.rumSnippet})})]})]})]}),"conversionTriggers"===a&&(0,W.jsxs)(W.Fragment,{children:[!(null!==(n=i.rumSnippet.config)&&void 0!==n&&null!==(n=n.privacy)&&void 0!==n&&n.sessions)&&(0,W.jsx)(tg.k,{type:"warning",children:"Enable cookie-based sessions to start tracking conversions."}),(0,W.jsx)(j.U5,{padded:!1,title:"Conversion Triggers",moreInfoContent:"Automatically record a conversion when a visitor's URL path matches a rule, without changing your website's code.\n\nAlternatively, use our RUM snippet API to record conversions.",moreInfoHref:"/docs/rum/conversion-tracking",boxHeading:!0,children:(0,W.jsx)(B.Fragment,{children:(0,W.jsx)(Lx,{snippetId:i.rumSnippet.id,rumConversionTriggers:i.rumSnippet.rumConversionTriggers})})})]}),"pageGroups"===a&&(0,W.jsx)(j.U5,{padded:!1,title:"Page Groups",moreInfoContent:"Group page views by URL to make filtering your RUM data easier.",moreInfoHref:"/docs/rum/page-groups",boxHeading:!0,children:(0,W.jsx)(B.Fragment,{children:(0,W.jsx)(Nx,{snippetId:i.rumSnippet.id,rumPageGroups:i.rumSnippet.rumPageGroups,showPageGroupSampling:i.showPageGroupSampling})})}),"tagsAndMetrics"===a&&(0,W.jsxs)(W.Fragment,{children:[" ",(0,W.jsx)(j.U5,{padded:!1,title:"Custom Tags",moreInfoContent:"Segment page views with custom tags to better identify slow experiences and what's causing them.",moreInfoHref:"/docs/rum/custom-metrics-and-tags",boxHeading:!0,children:(0,W.jsx)(B.Fragment,{children:(0,W.jsx)(py,{snippet:i.rumSnippet,mappingType:"tag"})})}),(0,W.jsx)(j.U5,{padded:!1,title:"Custom Metrics",moreInfoContent:"Define custom rendering milestones that matter to your customers, or track the performance of specific network requests.",moreInfoHref:"/docs/rum/custom-metrics-and-tags",boxHeading:!0,children:(0,W.jsx)(B.Fragment,{children:(0,W.jsx)(py,{snippet:i.rumSnippet,mappingType:"metric"})})})]}),"budgets"===a&&(0,W.jsx)(xx,{projectId:i.id,canEdit:i.canEdit})]})}
1var My=r(34030),Oy=r(22315),Ly=r(57600);function Ey(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Ry(){var e,t,r;const n=(0,Or.n)(),i=n.stat,o=n.comparisonSearch,a=n.project,l=(g=(0,jb.w)({method:u.FH.getRumStats,getArgs:e=>[{snippetId:a.rumSnippet.id,query:e,metrics:["lcpCpuTime"]}],additionalDependencies:[i]}),h=2,function(e){if(Array.isArray(e))return e}(g)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(g,h)||function(e,t){if(e){if("string"==typeof e)return Ey(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ey(e,t):void 0}}(g,h)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=l[0],c=l[1],m=null==c||null===(e=c.lcpCpuTime)||void 0===e?void 0:e.val,p=null==s||null===(t=s.lcpCpuTime)||void 0===t?void 0:t.val;var g,h;return(0,W.jsx)(j.U5,{title:"LCP Processing Time",moreInfoContent:null===(r=(0,k.yq)("lcpCpuTime"))||void 0===r?void 0:r.content,boxHeading:!0,children:(0,W.jsxs)("div",{className:"d-flex align-items-center",style:{fontSize:20,height:18,lineHeight:"1em"},"data-testid":"lcp-cpu-time",children:[o&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{style:{fontWeight:500,color:Eg.Y[(0,k.ew)("lcpCpuTime",null!=m?m:null)]},children:(0,N.MH)(m)}),(0,W.jsx)("div",{className:"ml-1 mr-1",children:"➔"})]}),(0,W.jsx)("div",{style:{fontWeight:500,color:Eg.Y[(0,k.ew)("lcpCpuTime",null!=p?p:null)]},children:(0,N.MH)(p)}),(0,W.jsx)("div",{className:"ml-auto",children:(0,W.jsx)($.N_,{to:(0,_.Ao)(A.DS.projectRumUrl(a.id,"lcpCpuTime"),(0,d.u)()),className:"link-blue-on-hover",children:(0,W.jsx)(bs.G,{})})})]})})}var Uy=r(62204),By=r(44429);function $y(e){let t=e.left,r=e.right,n=e.keepSideBySideInCompare;const i=!!(0,Or.n)().comparisonSearch&&!n;return(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:i?"col-xl-12":"col-xl-6 col-print-6",children:t}),(0,W.jsx)("div",{className:i?"col-xl-12":"col-xl-6 col-print-6",children:r})]})}var Vy=r(44637);function Hy(e){let t=e.insight;const r=(0,Aa.D)();return(0,W.jsxs)("div",{className:"d-flex align-items-center",style:{background:r?"rgba(100, 100, 100, 0.2)":"rgb(225 227 238)",padding:"8px 16px",borderBottomLeftRadius:4,borderBottomRightRadius:4},children:[(0,W.jsx)("div",{style:{flexShrink:0},className:"d-flex",children:(0,W.jsx)(by.m,{})}),(0,W.jsx)("div",{className:"ml-2",children:t})]})}function Wy(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const Gy=(0,W.jsx)(wx.M,{});function zy(e){var t,r;let n=e.colors,i=e.rumMetric,o=e.groupBy,a=e.showInsight,l=e.groupByNotNull,s=void 0===l||l;const c=(0,Or.n)(),d=c.comparisonSearch,m=c.project,p=(S=(0,jb.w)({method:u.FH.getRumBreakdown,getArgs:e=>[{snippetId:m.rumSnippet.id,query:e,groupBy:o,rumMetric:[i],sortBy:"count",groupByNotNull:s}],additionalDependencies:[s,i,o]}),k=3,function(e){if(Array.isArray(e))return e}(S)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(S,k)||function(e,t){if(e){if("string"==typeof e)return Wy(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Wy(e,t):void 0}}
1(S,k)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=p[0],h=p[1],f=p[2],v=a&&g?function(e,t){const r=(0,T.sum)(t.map(e=>e.count));if("inpPrimaryScriptDomain"===e)return"Is the code delaying this interaction your own code or third-party code?";if("inpPrimaryScriptInvokerType"===e){const e=t.find(e=>"classic-script"===e.inpPrimaryScriptInvokerType);if((e&&e.count/r*100)>50)return"The interaction is mostly delayed by scripts that run when the page is loading. While these scripts run user interactions can't be handled.";const n=t.find(e=>"event-listener"===e.inpPrimaryScriptInvokerType);return(n&&n.count/r*100)>50?"The interaction is mostly delayed by event handlers processing the interaction.":"Is the user interaction itself causing this code to run or does the code run for another reason?"}}(o,g):void 0,b=!!d,x=(0,hr.Cv)(o,m.rumSnippet),y=function(e){let t=e.breakdown,r=e.compareBreakdown,n=e.comparisonLoading,i=e.colors,o=e.groupBy,a=e.rumMetric;const l=(0,Or.n)(),s=l.project,c=l.getUrlWithAddedFilters;return(0,B.useMemo)(()=>{var e;if(!t||n)return null;const l=t.map(e=>e[o]);null==r||r.forEach(e=>{l.includes(e[o])||l.push(e[o])});const d=null!=i?i:function(e){const t={null:"#646464"};let r=0;return e.forEach(e=>{null!==e&&(t[e]=(0,vu.pq)(r),r++)}),t}(l),u=(0,hr.Cv)(o,s.rumSnippet),m=(0,ln.F)(o,null===(e=s.rumSnippet)||void 0===e?void 0:e.rumPageGroups).getValueLabel,p=e=>{const t=(0,T.sum)(e.map(e=>e.count)),r=new Map(e.map(e=>[e[o],e]));return l.map(e=>{var n,i;const l=r.get(e),s=null==l?void 0:l[a+"_val"];return{title:m(e),color:d[e],percentage:l&&t?l.count/t*100:0,viewCount:null!==(n=null==l?void 0:l.count)&&void 0!==n?n:0,value:"number"==typeof s?s:void 0,detailText:l?(0,N.Fl)(s,(0,hr.T5)(a)):void 0,icon:qy.includes(o)?(0,W.jsx)(Kr.s,{url:e}):null,expansion:{link:c?{href:c([o,e]),tooltip:`Only show data where ${u} is "${e}"`}:void 0,moreInfoHover:null!==hr.a7&&void 0!==hr.a7&&null!==(i=hr.a7[o])&&void 0!==i&&i[e]?{content:hr.a7[o][e]}:void 0}}})},g=e=>[{left:(0,W.jsxs)("span",{children:["Based on"," ",(0,N.Ke)((0,T.sum)(e.map(e=>e.count)))," page views"]})}];return{components:p(t),comparisonComponents:r?p(r):void 0,tooltipBottomItems:g(t),comparisonTooltipBottomItems:r?g(r):void 0}},[t,r,n,i,o,a,s,c])}({breakdown:g,compareBreakdown:h,comparisonLoading:"loading"===f.comparison,colors:n,groupBy:o,rumMetric:i}),w=(0,B.useMemo)(()=>(null==y?void 0:y.comparisonComponents)&&{components:y.comparisonComponents,beforeLabel:(0,W.jsx)(Vy.s,{type:"comparison"}),afterLabel:(0,W.jsx)(Vy.s,{type:"selection"}),tooltipBottomItems:y.comparisonTooltipBottomItems,formatValue:e=>(0,N.Fl)(e,(0,hr.T5)(i))},[y,i]);var S,k;return(0,W.jsxs)("div",{children:[(0,W.jsx)(j.U5,{title:x,moreInfoContent:null===(t=hr.SD[o])||void 0===t?void 0:t.content,moreInfoHref:null===(r=hr.SD[o])||void 0===r?void 0:r.href,boxHeading:!0,padded:!1,titleChildren:(0,W.jsx)($.N_,{to:(0,_.Ao)(A.DS.projectRumUrl(m.id,"views"===i?"stats":hr.KE.includes(i)?i:"trends",{},{infoSelection:"table"}),{groupBy:o}),className:"scale-small-1 page-content-container__content-box__show-only-on-hover",children:"View More"}),children:y?(0,W.jsx)(vu.rl,{title:x,titleColumnHeading:x,components:y.components,valueLabel:(0,hr.pg)(i,m.rumSnippet),comparison:w,valueDisplay:"percentage",tooltipBottomItems:y.tooltipBottomItems,inUnpaddedContext:!0,allowExpansion:!0,componentTitleMinWidth:140,showSomeTitles:!0,tooltipWidth:340,hrefWhenExpandedIcon:Gy}):(0,W.jsx)(Pb.L,{height:b?90:50})}),v&&(0,W.jsx)(Hy,{insight:v}),a&&!g&&(0,W.jsx)(Hy,{insight:"..."})]})}const qy=["inpPrimaryScriptDomain","inpPrimaryScript","lcpScript","lcpScriptDomain","referrerDomain","domain"];var Xy=r(32961);function Ky(e){let t=e.rumMetric;return(0,W.jsxs)("div",{className:"row",style:{width:"100%"},children:[(0,W.jsx)("div",{className:"col-md-6",children:(0,W.jsx)(zy,{groupBy:"device",rumMetric:t})}),(0,W.jsx)("div",{className:"col-md-6",children:(0,W.jsx)(zy,{groupBy:"networkType",rumMetric:t})}),["browser","os","memory","cpu","networkBandwidth","networkRtt"].map(e=>"inp"===t&&["networkBandwidth","networkRtt","networkType"].includes(e)?null:(0,W.jsx)("div",{className:"col-xl-6 d-flex",children:(0,W.jsx)(Xy.Au,{defaultGroupBy:e,defaultSortBy:"count",rumMetric:t,showDetailedTitle:!0})},e))]})}var Yy=r(33528);function Jy(e,t){return(0,_.Ao)(A.DS.projectRumUrl(e,t),(0,d.u)())}function Qy(e,t,r,n){var i,o,a,l,s;const c=null!==(i=null!==(o=null===(a=n.calculateValue)||void 0===a?void 0:a.call(n,t))&&void 0!==o?o:null===(l=t[n.rumMetric])||void 0===l?void 0:l.val)&&void 0!==i?i:0;return{...n,value:c,viewCount:null===(s=t[n.rumMetric])||void 0===s?void 0:s.count,percentage:c/r*100,detailText:(0,N.Fl)(c,"ms",n.formatOptions),expansion:{link:{href:Jy(e,n.rumMetric),tooltip:`Open ${n.title} dashboard`},moreInfoHover:(0,k.yq)(n.rumMetric)}}}function Zy(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ej(e){let t=e.calculateTotal,r=e.project,n=e.requiredWebVitals,i=e.moreInfoContent,o=e.moreInfoHref,a=e.title,l=e.titleChildren,s=e.titleColumnHeading,c=e.stats,d=e.hideBoxAndTitle;const m=(0,B.useCallback)(e=>(0,T.sum)(c.map(t=>{var r,n,i,o;return null!==(r=null!==(n=null===(i=t.calculateValue)||void 0===i?void 0:i.call(t,e))&&void 0!==n?n:null===(o=e[t.rumMetric])||void 0===o?void 0:o.val)&&void 0!==r?r:0})),[c]),p=null!=t?t:m,g=(0,Or.n)().comparisonSearch,h=(S=(0,jb.w)({method:u.FH.getRumStats,getArgs:e=>{const t=new URLSearchParams(e);return n&&t.append("cwvNotNull",n),[{snippetId:r.rumSnippet.id,query:`?${t.toString()}`,metrics:c.map(e=>(0,T.get)(e,"rumMetric"))}]}}),_=3,function(e){if(Array.isArray(e))return e}(S)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(S,_)||function(e,t){if(e){if("string"==typeof e)return Zy(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Zy(e,t):void 0}}(S,_)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=h[0],v=h[1],b=h[2],x=(0,B.useMemo)(()=>f?c.map(e=>Qy(r.id,f,f?p(f):0,e)):void 0,[r.id,f,c,p]),y=(0,B.useMemo)(()=>{const e=v?c.map(e=>Qy(r.id,v,v?p(v):0,e)):void 0;return g&&e?{components:e,beforeLabel:(0,W.jsx)(Vy.s,{type:"comparison"}),afterLabel:(0,W.jsx)(Vy.s,{type:"selection"}),formatValue:e=>(0,N.Fl)(e,"ms")}:void 0},[g,v,r.id,c,p]),w=x&&"loading"!==b.comparison?(0,W.jsx)(vu.rl,{title:a,titleColumnHeading:s,valueDisplay:"value",valueLabel:"Duration",components:x,comparison:y,tooltipWidth:260,showSomeTitles:!0,allowExpansion:!0,inUnpaddedContext:!0}):(0,W.jsx)(Pb.L,{height:g?90:25});var S,_;return d?(0,W.jsx)("div",{children:w}):(0,W.jsx)(j.U5,{title:a,moreInfoContent:i,moreInfoHref:o,boxHeading:!0,padded:!1,titleChildren:l,children:w})}function tj(e){let t=e.project;return(0,W.jsx)(ej,{project:t,calculateTotal:e=>{var t,r;return null!==(t=null===(r=e.lcp)||void 0===r?void 0:r.val)&&void 0!==t?t:0},title:"LCP Optimization Potential",titleColumnHeading:"Metric",requiredWebVitals:"lcp",moreInfoContent:"See whether you would see the most benefit by improving server response time, render blocking resources, or focusing on loading the LCP element more quickly.\nIf your initial server response is slow the rest of the page can't start loading. If render-blocking resources are holding back the FCP then the LCP element also can't appear.",stats:[{title:"TTFB",color:"#43976a",rumMetric:"ttfb"},{title:"FCP",color:"#c3498d",rumMetric:"fcp",calculateValue:e=>{var t,r,n,i;return(null!==(t=null===(r=e.fcp)||void 0===r?void 0:r.val)&&void 0!==t?t:0)-(null!==(n=null===(i=e.ttfb)||void 0===i?void 0:i.val)&&void 0!==n?n:0)},formatOptions:{forceSign:!0}},{title:"LCP",color:"#535ac2",rumMetric:"lcp",calculateValue:e=>{var t,r,n,i;return(null!==(t=null===(r=e.lcp)||void 0===r?void 0:r.val)&&void 0!==t?t:0)-(null!==(n=null===(i=e.fcp)||void 0===i?void 0:i.val)&&void 0!==n?n:0)},formatOptions:{forceSign:!0}}]})}var rj=r(56918),nj={};nj.styleTagTransform=ve(),nj.setAttributes=pe(),nj.insert=ue().bind(null,"head"),nj.domAPI=ce(),nj.insertStyleElement=he(),le()(rj.A,nj),rj.A&&r
1j.A.locals&&rj.A.locals;var ij=r(93823),oj=r(7729),aj=r(72361),lj={};function sj(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return cj(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?cj(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cj(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function dj(e){return"lcp"===e?"This breakdown shows the most common elements identified as the Largest Contentful Paint element.":"cls"===e?"This breakdown shows the elements that most often contribute to layout shifts.":"This breakdown shows the most common elements responsible for the INP interaction."}function uj(e){if("inp"===e)return"https://www.debugbear.com/blog/inp-element-interactions"}function mj(e){let t=e.rumMetric,r=e.project;const n=sj((0,V.t)("elementInfo","selector",{parse:e=>"selector"===e||"text"===e?e:void 0}),2),i=n[0],o=n[1];return(0,W.jsxs)(W.Fragment,{children:[" ",(0,W.jsxs)("div",{className:"d-flex align-items-center mt-3",children:[(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)("h2",{style:{fontSize:16},className:"color-grey2 mt-0 mb-0",children:(0,W.jsx)(Df.I,{children:`${(0,hr.tm)(t,r.rumSnippet)} Elements`})}),(0,W.jsx)("div",{className:"ml-1",children:(0,W.jsx)(x.c,{content:`${dj(t)}\nNote that the element screenshots are generated independently of the underlying RUM data that has been collected.`,href:uj(t)})})]}),(0,W.jsx)("div",{className:"ml-2",children:(0,W.jsx)(H.L,{optionValue:i,options:[{title:"By Selector",value:"selector"},{title:"By Text",value:"text"}],onSelectOption:o})})]}),(0,W.jsx)(pj,{textOrSelector:i,rumMetric:t,project:r}),(0,W.jsx)(j.U5,{padded:!1,title:`${(0,hr.tm)(t,r.rumSnippet)} Element CSS Selectors`,boxHeading:!0,children:(0,W.jsx)(g.jl,{hideCategoryCountMessage:!0,groupBy:t+(0,N.sK)(i),rating:t,notNullMetric:t,project:r,maxCategories:15,metrics:[t]})})]})}function pj(e){let t=e.rumMetric,r=e.project,n=e.textOrSelector,i=e.dontShowFilterRecommendation;const o=(0,$.zy)(),a=r.savedFilters.filter(e=>"rum"===e.type),l=(0,Or.n)(),s=l.comparisonSearch,c=l.stat,m=(0,vr.G)(a,(0,d.u)()),p=m.urlPath,g=m.inpSelector;let h=t+(0,T.capitalize)(n);const f=sj((0,jb.w)({blockComparisonRequests:!0,method:u.FH.getRumBreakdown,getArgs:e=>[{snippetId:r.rumSnippet.id,groupBy:h,sortBy:"count",query:e,rumMetric:[t]}],additionalDependencies:[t,n,c,r.rumSnippet,h]}),1)[0],v=sj((0,jb.w)({blockComparisonRequests:!0,method:u.FH.getRumStats,getArgs:e=>[{snippetId:r.rumSnippet.id,query:e,metrics:[t]}],additionalDependencies:[t]}),1)[0];if(s)return(0,W.jsx)(j.U5,{children:"Compare mode is not available for the elements view yet."});const b=null==v?void 0:v[t],y=null==f?void 0:f.filter(e=>e[h]),w=null==f?void 0:f.slice(0,4).find(e=>null===e[h]);return(0,W.jsxs)(W.Fragment,{children:[!p&&!i&&(0,W.jsx)(tg.k,{type:"info",children:(0,W.jsxs)("div",{children:["We recommend filtering by URL before reviewing page elements.",(0,W.jsx)(x.c,{style:{marginLeft:4},content:(0,W.jsxs)("div",{children:[(0,W.jsx)("p",{children:"Looking at a specific page makes it easier to understand what page elements need to be optimized."}),(0,W.jsx)("p",{children:"Click on the Page URL chart to select a URL. Or open the filters section at the top of this page."})]})})]})}),(0,W.jsxs)("div",{className:"row",children:[(y?y.slice(0,4):"inp"===t&&g?[null]:[null,null,null,null]).map((e,i)=>{let a=null;return Object.entries(e||{}
1).forEach(e=>{let t=sj(e,2),r=t[0],n=t[1];r.includes("context_")&&(a=n)}),(0,W.jsx)("div",{className:"col-lg-6 d-flex flex-grow",children:(0,W.jsx)(j.U5,{padded:!1,className:"flex-grow-1 d-flex flex-column",title:null===e?"...":e[h]||"n/a",boxHeading:!0,titleHref:e?(0,_.Ao)(o.pathname,{...(0,d.u)(),[h]:null===e[h]?"null":e[h],[`${h}_type`]:void 0}):void 0,titleChildren:e&&(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)("div",{className:"ml-auto",children:(0,W.jsxs)("div",{className:"d-flex align-items-center",style:{lineHeight:"1em",whiteSpace:"nowrap"},children:[(0,W.jsxs)("div",{className:"scale-small-2 color-coldGrey2",children:[(0,W.jsx)(S.m,{overlay:()=>(0,W.jsxs)("div",{style:{maxWidth:230},children:[(0,N.Ke)(e.count)," ","page views matching this element selector",b?` (${Math.round(e.count/b.count*100)}% of total) `:"","."]}),children:(0,W.jsx)("div",{className:"mr-1",children:(0,W.jsxs)("span",{children:[(0,N.Ke)(e.count)," ","views"]})})})," "]}),(0,W.jsx)(oj.f,{value:e[t+"_val"],rumMetric:t})]})})," "]}),children:(0,W.jsx)("div",{className:"d-flex align-items-center flex-grow-1",style:{minHeight:340},children:e&&(0,W.jsx)(W.Fragment,{children:null===e[h]?(0,W.jsxs)("div",{children:["Element could not be identified"," ",(0,W.jsx)(x.c,{content:"This may be due to limitations in the browser APIs, or because the element disappeared from the page."})]}):(0,W.jsx)(ij.q7,{project:r,extraFilters:{[h]:e[h]},rumMetric:t,maxImageHeight:300,cacheByElementText:"text"===n})})})})},i)}),w&&b&&(0,W.jsx)("div",{className:"col-md-12",children:(0,W.jsx)(tg.k,{type:"warning",children:(0,W.jsxs)("div",{children:["Element could not be identified for"," ",Math.round(w.count/b.count*100),"% of page views."," ",(0,W.jsx)(x.c,{content:"This means the browser did not report an element. Two common reasons for this are:\n1. The element disappeared after an interaction\n2. The element is inside a shadow DOM"})]})})})]})]})}function gj(e){let t=e.project,r=e.hideBoxAndTitle;return(0,W.jsx)(ej,{project:t,title:"First Contentful Paint Breakdown",titleColumnHeading:"Subpart",moreInfoContent:"The FCP breakdown tells you whether server response or connection time is holding back rendering or if delays are caused by front-end code.",stats:[{title:"TTFB",color:"#46afa4",rumMetric:"ttfb"},{title:"Rendering",color:"#cd46cc",rumMetric:"fcp"}],requiredWebVitals:"fcp",moreInfoHref:"/docs/metrics/first-contentful-paint",hideBoxAndTitle:r})}lj.styleTagTransform=ve(),lj.setAttributes=pe(),lj.insert=ue().bind(null,"head"),lj.domAPI=ce(),lj.insertStyleElement=he(),le()(aj.A,lj),aj.A&&aj.A.locals&&aj.A.locals;var hj=r(82817),fj=r(25519),vj=r(98371);function bj(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function xj(e){let t=e.project,r=e.showInsight;const n=(0,Or.n)(),i=n.comparisonSearch,o=n.getRumMetricDashboardLink,a=(h=(0,jb.w)({method:u.FH.getRumInpBreakdown,getArgs:e=>[t.rumSnippet.id,e]}),f=3,function(e){if(Array.isArray(e))return e}(h)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(h,f)||function(e,t){if(e){if("string"==typeof e)return bj(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?bj(e,t):void 0}}(h,f)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],s=a[1],c=a[2],d=(0,B.useCallback)(e=>{const t=yj(e);return[{title:"Input Delay",color:vj.j[0],value:e.inputDelay_val,viewCount:e.count,percentage:e.inputDelay_val/t*100,detailText:(0,N.Fl)(e.inputDelay_val,"ms"),expansion:{link:{href:o("inputDelay"),tooltip:"Open Input Delay Dashboard"},moreInfoHover:(0,k.yq)("inputDelay")},icon:(0,W.jsx)(ff.O,{})},{title:"Processing Time",color:vj.j[1],value:e.processingTime_val,viewCount:e.count,percentage:e.processingTime_val/t*100,detailText:(0,N.Fl)(e.processingTime_val,"ms"),expansion:{link:{href:o("processingTime"),tooltip:"Open Processing Time Dashboard"},moreInfoHover:(0,k.yq)("processingTime")},icon:(0,W.jsx)(fj.B,{})},{title:"Presentation Delay",color:vj.j[2],value:e.presentationDelay_val,viewCount:e.count,percentage:e.presentationDelay_val/t*100,detailText:(0,N.Fl)(e.presentationDelay_val,"ms"),expansion:{link:{href:o("presentationDelay"),tooltip:"Open Presentation Delay Dashboard"},moreInfoHover:(0,k.yq)("presentationDelay")},icon:(0,W.jsx)(hj.b,{})}]},[o]),m=(0,B.useMemo)(()=>l?d(l):[],[l,d]),p=(0,B.useMemo)(()=>i&&s?{components:d(s),beforeLabel:(0,W.jsx)(Vy.s,{type:"comparison"}),afterLabel:(0,W.jsx)(Vy.s,{type:"selection"}),formatValue:e=>(0,N.Fl)(e,"ms")}:void 0,[i,s,d]),g=l&&"loading"!==c.comparison?(0,W.jsx)(vu.rl,{title:"INP Subparts",titleColumnHeading:"Subpart",valueDisplay:"value",valueLabel:"Duration",components:m,comparison:p,componentTitleMinWidth:38,showSomeTitles:!0,tooltipWidth:250,allowExpansion:!0,inUnpaddedContext:!0}):(0,W.jsx)(Pb.L,{height:i?90:50});var h,f;return(0,W.jsxs)("div",{children:[(0,W.jsx)(j.U5,{title:"INP Subparts",moreInfoContent:"The INP measurements consists of three separate components that contribute to the overall metric value.",moreInfoHref:"https://www.debugbear.com/docs/metrics/interaction-to-next-paint#how-is-interaction-to-next-paint-measured",boxHeading:!0,padded:!1,children:g}),r&&l&&(0,W.jsx)(Hy,{insight:jj(l)})]})}function yj(e){return e.inputDelay_val+e.processingTime_val+e.presentationDelay_val}function jj(e){const t=yj(e),r=e.inputDelay_val/t*100,n=e.processingTime_val/t*100,i=e.presentationDelay_val/t*100;return n>50?"This delay is mostly caused by processing that's done directly in response to the user interaction.":r>50?"This delay is mostly caused by background tasks that had to finish before the interaction could be processed.":i>50?"This delay is mostly caused by rendering or other tasks delaying a UI update. Presentation Delay is difficult to debug and can be caused by device behavior, for example when showing a mobile keyboard.":"Backgroun
1d tasks, event handling, and rendering delays all contribute to this interaction delay."}function wj(e){let t=e.project;const r=[{title:"TTFB",color:"#174460",rumMetric:"ttfb"},{title:"Load Delay",color:"#62b18f",rumMetric:"lcpLoadDelay"},{title:"Load Duration",color:"#2388C4",rumMetric:"lcpLoadTime"},{title:"Render Delay",color:"#903de3",rumMetric:"lcpRenderDelay"}];return(0,W.jsx)(ej,{project:t,title:"LCP Subparts",titleColumnHeading:"Subpart",moreInfoContent:"The different LCP components can help you find out what you need to optimize on your website.\nThis is especially useful if your LCP elements are images, as you can see whether they are discovered late (high Load Delay), download slowly (high Load Duration), or don't appear immediately after downloading (high Render Delay).",moreInfoHref:"/blog/lcp-subparts",stats:r,requiredWebVitals:"lcp",titleChildren:(0,W.jsx)($.N_,{to:(0,_.Ao)(A.DS.projectRumUrl(t.id,"lcp",{},{infoSelection:"table"}),{metrics:r.map(e=>e.rumMetric)}),className:"scale-small-1 page-content-container__content-box__show-only-on-hover",children:"View More"})})}var Sj=r(32058);function _j(e){let t=e.project,r=e.hideBoxAndTitle;return(0,W.jsx)(ej,{project:t,title:"Time to First Byte Breakdown",titleColumnHeading:"Subpart",moreInfoContent:"The breakdown of the Time to First Byte (TTFB) metric can help you identify what part of the document HTML request you need to optimize.",stats:[{title:"Other",color:"#625d5d",rumMetric:"ttfbWait"},{title:"Redirect",color:"#2992f1",rumMetric:"ttfbRedirect"},{title:"DNS Lookup",color:"#46afa4",rumMetric:"ttfbDns"},{title:"TCP Connection",color:"#e7b65a",rumMetric:"ttfbTcp"},{title:"SSL Handshake",color:"#cd46cc",rumMetric:"ttfbSsl"},{title:"Response",color:"#6199a1",rumMetric:"ttfbResponse"}],requiredWebVitals:"ttfb",moreInfoHref:"/docs/metrics/time-to-first-byte",hideBoxAndTitle:r})}const kj=["children","number","extraText"];function Cj(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Aj(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Aj(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Aj(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Nj(e){let t=e.rumMetric;const r=(0,Or.n)().project,n=Cj(B.useState(!0),2),i=n[0],o=n[1],a=Cj(B.useState(!0),2),l=a[0],s=a[1];return(0,W.jsxs)("div",{children:[(0,W.jsx)(dm.i,{stepId:"optimizeInp",children:"Follow this step by step guide to identify opportunities to improve your INP scores."}),"inp"===t&&(0,W.jsx)(pt.I,{stepId:"optimizeInp"}),(0,W.jsx)(Ij,{rumMetric:t}),"ttfb"===t&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Pj,{title:"Check what's causing poor TTFB",moreInfoContent:"Are server responses held back by slow server response time, or time spent establishing a server connection?",number:2,padded:!1,children:(0,W.jsx)(_j,{project:r,hideBoxAndTitle:!0})}),(0,W.jsxs)("div",{children:[(0,W.jsx)(j.U5,{padded:!1,children:(0,W.jsx)(Tj,{number:3,title:"Check if specific visitor segments are impacted",addBottomPadding:!0,addBottomMargin:!1})}),(0,W.jsx)(Xy.Au,{rumMetric:t,defaultGroupBy:"referrerDomain",defaultSortBy:"count",title:"Referrer Domain",rating:t,maxCategories:4}),(0,W.jsx)(Xy.Au,{rumMetric:t,defaultGroupBy:"utmCampaign",defaultSortBy:"count",title:"UTM Campaign",rating:t,maxCategories:4}),(0,W.jsx)(Xy.Au,{rumMetric:t,defaultGroupBy:"networkRtt",defaultSortBy:"count",title:"Network RTT",rating:t,maxCategories:4})]}),(0,W.jsx)(Pj,{number:4,title:"Check if performance varies globally",moreInfoContent:"Consider setting up a content delivery network to 
1speed up responses.",children:(0,W.jsx)(Sj.f,{rumMetric:"ttfb",project:r,hideBoxAndTitle:!0})}),(0,W.jsx)(Pj,{number:5,title:"Consider potential instant navigations",moreInfoContent:"Beyond optimizing server response time or using a CDN to reduce connection times, you can also make sure that back/forward navigations are instant or that common next pages are preloaded with speculation rules.",padded:!1,children:(0,W.jsx)(g.jl,{project:r,groupBy:"navigationType",metrics:["ttfb"],notNullMetric:"ttfb",maxCategories:10,rating:null})})]}),"fcp"===t&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Pj,{number:2,title:"Check what's causing poor FCP",moreInfoContent:"Is the First Contentful Paint held back by slow server response time or by front-end code delaying rendering?",children:(0,W.jsx)(gj,{project:r,hideBoxAndTitle:!0})}),(0,W.jsx)(Pj,{number:3,title:"Check what resource most frequently blocks rendering",moreInfoContent:"Render-blocking scripts and stylesheets can delay the First Contentful Paint.",padded:!1,children:(0,W.jsx)(g.jl,{project:r,groupBy:"lastBlockingRequest",metrics:["fcp"],notNullMetric:"fcp",maxCategories:10,rating:null})}),(0,W.jsx)(Dj,{rumMetric:t,extraTopLeftUI:null,notNullBreakdown:void 0,project:r,stepNumber:3}),(0,W.jsxs)(j.U5,{padded:!1,children:[(0,W.jsx)(Tj,{title:"Run a lab-based performance test",number:4}),(0,W.jsx)("div",{className:"pb-3 pl-3",children:"Lab data can help you better understand poor FCP and view all resources that block rendering."})]})," "]}),"lcp"===t&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(j.U5,{padded:!1,children:(0,W.jsx)(Tj,{number:2,title:"Check what's causing poor LCP",addBottomPadding:!0,addBottomMargin:!1,moreInfoContent:"Check whether poor LCP is caused by slow server response time, slow client-side rendering, or waiting for the largest content element to appear."})}),(0,W.jsx)(tj,{project:r}),(0,W.jsx)(wj,{project:r}),(0,W.jsx)(j.U5,{padded:!1,children:(0,W.jsx)(Tj,{number:3,title:"Check what content is counted as the LCP element",addBottomPadding:!0,addBottomMargin:!1,moreInfoContent:"The LCP element will vary by device size as well as factors such as login status, cookie consent, or when the page was loaded."})}),(0,W.jsx)(pj,{project:r,rumMetric:"lcp",textOrSelector:"selector",dontShowFilterRecommendation:!0}),(0,W.jsxs)(Pj,{padded:!1,title:"LCP Image URLs",moreInfoContent:"LCP scores will vary based on the size of the image and how it's loaded.",number:4,children:[(0,W.jsx)(g.jl,{groupBy:"lcpUrl",project:r,maxCategories:10,metrics:["lcpLoadDelay","lcpLoadTime","lcp"],rating:null})," "]}),(0,W.jsx)(Dj,{rumMetric:t,extraTopLeftUI:null,notNullBreakdown:void 0,project:r,stepNumber:5}),(0,W.jsx)(Pj,{title:"Run a lab-based performance test",number:6,children:"Lab data can help you better understand poor LCP, view render-blocking resources, and see how the LCP element is loaded."})]}),"cls"===t&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(j.U5,{padded:!1,children:(0,W.jsx)(Tj,{number:2,title:"Check what content is shifting",addBottomPadding:!0,addBottomMargin:!1})}),(0,W.jsx)(pj,{project:r,rumMetric:"cls",textOrSelector:"selector",dontShowFilterRecommendation:!0}),(0,W.jsx)(j.U5,{padded:!1,children:(0,W.jsx)(Tj,{number:3,title:"Are layout shifts happening after the user has started scrolling?",addBottomPadding:!0,addBottomMargin:!1})}),(0,W.jsx)($b,{rumMetric:"clsScrollTop"}),(0,W.jsxs)(j.U5,{padded:!1,children:[(0,W.jsx)(Tj,{number:4,title:"Are visitors with a certain device size more impacted?",addBottomPadding:!0,addBottomMargin:!1}),(0,W.jsx)("div",{className:"p-3",children:(0,W.jsx)(Yy.I,{project:r,rumMetric:"cls",groupBy:"windowWidth",groupBy2:"windowHeight",showCount:!1})})]}),(0,W.jsx)(Dj,{rumMetric:t,extraTopLeftUI:null,notNullBreakdown:void 0,project:r,stepNumber:5})]}),"inp"===t&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(j.U5,{padded:!1,children:(0,W.jsx)(Tj,{number:2,title:"Select An Interaction Element",addBottomPadding:!0,addBottomMargin:!1,moreInfoContent:"Click on an element selector to learn what slows down that specific interaction.\n  It's best to select an element that has poor INP and that a large percentage of visitors interact with."})}),(0,W.jsx)(pj,{textOrSelector:"selector",rumMetric:t,project:r,dontShowFilterRecommendation:!0}
1),(0,W.jsx)(Pj,{number:3,title:"Select An Interaction Type",padded:!1,children:(0,W.jsx)(g.jl,{groupBy:"inpEvent",maxCategories:3,project:r,metrics:[t],rating:t,notNullMetric:t,hideCategoryCountMessage:!0})}),(0,W.jsx)(j.U5,{padded:!1,children:(0,W.jsx)(Tj,{title:"Understand more about the interaction",number:4,addBottomPadding:!0,addBottomMargin:!1,children:(0,W.jsxs)("label",{style:{cursor:"pointer"},className:"mt-0 mb-0 d-flex align-items-center scale-small-1 cursor-pointer mb-0",children:[(0,W.jsx)("input",{checked:l,onChange:e=>s(e.target.checked),type:"checkbox",className:"mr-1"}),(0,W.jsx)("div",{className:"color-coldGrey1",children:"Hide Missing INP Attribution"}),(0,W.jsx)("div",{className:"ml-1",children:(0,W.jsx)(x.c,{content:"Browsers don't always provide INP attribution data, for example for privacy reasons.\nIn some cases only a small percentage of interactions includes script attribution, in which case the attribution data may not match a typical interaction.",href:"https://www.debugbear.com/blog/inp-attribution-data-missing"})})]})})}),(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-md-12",children:(0,W.jsx)(xj,{project:r,showInsight:!0})}),(0,W.jsx)("div",{className:"col-md-12",children:(0,W.jsx)(zy,{groupBy:"inpPrimaryScriptInvokerType",rumMetric:"inp",showInsight:!0,groupByNotNull:l})}),(0,W.jsx)("div",{className:"col-md-12",children:(0,W.jsx)(zy,{groupBy:"inpPrimaryScriptDomain",rumMetric:"inp",showInsight:!0,groupByNotNull:l})}),(0,W.jsx)("div",{className:"col-md-12",children:(0,W.jsx)(zy,{groupBy:"inpPrimaryScript",rumMetric:"inp",showInsight:!0,groupByNotNull:l})})]}),(0,W.jsx)(Pj,{title:"Check Why The Script Is Running",number:5,extraText:"For example, are event handlers global (DOMWindow.onclick, BODY.onclick) or specific to an interaction with that page element (DIV#app.onclick)?",padded:!1,children:(0,W.jsx)(g.jl,{groupBy:"inpPrimaryScriptInvoker",maxCategories:8,project:r,metrics:[t],rating:t,notNullMetric:t,hideCategoryCountMessage:!0,groupByNotNull:l})}),(0,W.jsx)(Dj,{rumMetric:t,extraTopLeftUI:(0,W.jsxs)("label",{className:"d-flex align-items-center scale-small-1 cursor-pointer",children:[(0,W.jsx)("input",{type:"checkbox",className:"mr-1",onChange:e=>o(e.target.checked),checked:i}),(0,W.jsx)("div",{className:"color-coldGrey1",children:"Hide Missing INP Breakdown"})]}),notNullBreakdown:i?"inpPrimaryScriptInvoker":void 0,project:r,stepNumber:6}),(0,W.jsx)(Pj,{title:"Replicate slow interactions in Chrome DevTools",number:7,children:(0,W.jsxs)("div",{children:["A performance recording in Chrome DevTools lets you see exactly what code is slowing down interactions."," ",(0,W.jsx)("a",{href:"https://www.debugbear.com/blog/inp-chrome-devtools",target:"_blank",rel:"noreferrer",children:"Learn more."})]})})]})]})}function Ij(e){let t=e.rumMetric;const r=(0,Or.n)().project,n=r.savedFilters.filter(e=>"rum"===e.type),i=(0,vr.G)(n,(0,d.u)()).urlPath;return(0,W.jsx)(Pj,{padded:!1,title:"Select A Page",extraText:"Hover over a page and then click on the funnel icon to see data for that page only.",number:1,children:(0,W.jsx)(g.jl,{groupBy:"urlPath",maxCategories:10,project:r,metrics:[t],minHeight:i?71:void 0,rating:t,notNullMetric:t,hideCategoryCountMessage:!0})})}function Tj(e){let t=e.children,r=e.number,n=e.title,i=e.moreInfoContent,o=e.addBottomPadding,a=void 0!==o&&o,l=e.addBottomMargin;return(0,W.jsx)($x.R,{title:n,addTopPadding:!0,addHorizontalPadding:!0,addBottomPadding:a,addBottomMargin:l,contentBeforeTitle:(0,W.jsx)("div",{className:"optimize-tab__step-number bg-red1",children:r}),fontScale:"base",moreInfoContent:i,children:t})}function Dj(e){let t=e.extraTopLeftUI,r=e.project,n=e.notNullBreakdown,i=e.rumMetric,o=e.stepNumber;return(0,W.jsxs)(Pj,{title:"Review specific visitor experiences",number:o,padded:!1,titleChildren:t,children:[(0,W.jsx)(Db.WE,{project:r,count:10,rumMetric:i,notNullBreakdown:n,borderBottomForLastRow:!0}),(0,W.jsx)("div",{className:"d-flex",children:(0,W.jsx)($.N_,{to:(0,_.Ao)(A.DS.projectRumUrl(r.id,i,{},{infoSelection:"views"}),(0,d.u)()),className:"btn btn-primary btn-sm ml-auto mr-3 mb-3 mt-3",children:"See More Page Views"})})]})}function Pj(e){let t=e.children,r=e.number,n=e.extraText,i=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,kj);return(0,W.jsxs)(j.U5,{boxHeading:!0,contentBeforeTitle:(0,W.jsx)("div",{className:"optimize-tab__step-number bg-red1",children:r}),headingNoBorderBottom:!!n,...i,children:[n&&(0,W.jsx)("p",{className:"px-3 pb-3 scale-small-1 color-coldGrey2 grey-heading-box-bottom-border-soft mb-0",children:n}),t]})}const Fj={null:"#ddd",other:"#f16529",heading:"#555",img:"#69a5b1",bgImg:"#667abe",video:"#49c14d"};function Mj(e){let t=e.showInsight;return(0,W.jsx)(zy,{rumMetric:"lcp",groupBy:"lcpType",showInsight:t,colors:Fj})}var Oj=r(22981),Lj=r(94615),Ej=r(64822);const Rj=[90,75,50],Uj={50:"#064262",75:"#e0972c",90:"#aa1a1a"},Bj={50:"Average",75:"Slowest 25%",90:"Slowest 10%"};function $j(e){let t=e.trends,r=e.comparisonTrends,n=e.rumMetric,i=e.seriesLayout;return(0,Ej.p)({trends:t,comparisonTrends:r,seriesLayout:i,seriesDefinitions:Rj.map(e=>({name:`${Bj[e]} (p${e})`,color:Uj[e],getValue:t=>t[`${n}_p${e}`]}))})}function Vj(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Hj(e){let t=e.project,r=e.rumMetric;const n=B.useContext(cr.P1).annotationsVisible,i=(0,hu.a)(),o=(m=(0,jb.w)({method:u.FH.getRumPercentileTrends,getArgs:e=>[{snippetId:t.rumSnippet.id,query:e,rumMetric:r}],additionalDependencies:[r]}),p=3,function(e){if(Array.isArray(e))return e}(m)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(m,p)||function(e,t){if(e){if("string"==typeof e)return Vj(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Vj(e,t):void 0}}(m,p)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=o[0],l=o[1],s=o[2],c=n?(0,My.W)(t.timelineAnnotations).map(e=>(0,kl.Z9)(e)):[],d=!a||"loading"===s.comparison;var m,p;let g=null;if(!d){var h,f,v;const e=a.dateUnit,n=(0,Ej.s)({trends:a.trends,comparisonTrends:null!==(h=null==l?void 0:l.trends)&&void 0!==h?h:null,seriesLayout:(0,Lj.iy)(l?[a,l]:[a],e),dateUnit:e}),i=n.seriesLayout,o=n.xAxisBreak;(0,Hb.D)(a.trends,null!==(f=null==l?void 0:l.trends)&&void 0!==f?f:null,e,i),g=function(e){let t=e.trends,r=e.comparisonTrends,n=e.rumMetric,i=e.dateUnit,o=e.seriesLayout,a=e.xAxisBreak,l=e.annotationPlotlines,s=e.rumSnippet;const c=(0,Ca.p)("date",!1,"",{tickPixelInterval:100,showHours:"hour"===i||"5minute"===i});return c.plotLines=l,c.breaks=a?[a]:void 0,{chart:{type:"spline",spacingLeft:0,spacingRight:0,spacingBottom:0,height:250,animation:!1},title:void 0,credits:{enabled:!1},plotOptions:{spline:{animation:!1,marker:{enabled:!1}}},tooltip:(0,Fb.mS)(e=>({heading:{title:(0,Oj.p)(e.date,i)},badges:Rj.map(t=>{const r=e[`${n}_p${t}`],i=(0,k.ew)(n,r);return{dotColor:Uj[t],valueColor:i?Eg.Y[i]:void 0,title:`${t}th percentile ${(0,hr.tm)(n,s)}`,value:(0,N.Fl)(r,(0,hr.T5)(n))}})})),yAxis:(0,Ca.p)((0,hr.T5)(n),!1,""),xAxis:c,series:$j({trends:t,comparisonTrends:r,rumMetric:n,seriesLayout:o})}}({trends:a.trends,comparisonTrends:null!==(v=null==l?void 0:l.trends)&&void 0!==v?v:null,rumMetric:r,dateUnit:e,seriesLayout:i,xAxisBreak:o,annotationPlotlines:c,rumSnippet:t.rumSnippet})}return(0,W.jsx)(j.U5,{title:(0,hr.pg)(r,t.rumSnippet)+" Trend",boxHeading:!0,children:d?(0,W.jsx)(Pb.L,{height:250}):(0,W.jsx)("div",{style:{paddingTop:13},children:(0,W.jsx)(Na.F,{options:g},i)})})}var Wj=r(3535),Gj={};function zj(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return qj(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?qj(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qj(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Xj(e){var t;let r=e.project,n=e.rumMetric,i=e.infoSelection,o=e.showExportDialog,a=e.onCloseExportDialog,l=e.navTabs;const c=i||"overview",u=(0,Or.n)(),m=u.selectionSearch,p=u.comparisonSearch,h=ai(),f=h.budgetConfig,v=h.alertDate,b=(0,B.useMemo)(()=>function(e){try{return JSON.parse(null!=e?e:"",void 0)}catch{return null}}(function(e){try{var t,r;const n=null!==(t=null===(r=String(e))||void 0===r?void 0:r.replace(/^data:.*;base64,/,""))&&void 0!==t?t:"";return"undefined"!=typeof Buffer?Buffer.from(n,"base64").toString("utf-8"):atob(n)}catch{return null}}(f)),[f]),x=tx({budgetConfig:b,projectId:r.id,alertDateTime:v,minimalFetch:!0}),y=x.status,S=x.budgetState,k="optimize"===c?"":m;(0,B.useEffect)(()=>{(0,s.iR)()},[n,r.id,k,i]);const C=zj((0,V.t)("groupBy",void 0,{parse:e=>(0,Vr.nc)(e)?e:void 0}),2),N=C[0],I=C[1],T=zj((0,B.useState)(!1),2),D=T[0],P=T[1],F=zj((0,V.t)("breakdownGroup","auto"),2),M=F[0],O=F[1],L=(S||"idle"!==y)&&!!p,E=zj((0,B.useState)(null),2),R=E[0],U=E[1],$=zj((0,B.useState)(!1),2),G=$[0],z=$[1];return(0,W.jsxs)(Vb.p,{project:r,navTabs:l,children:["table"!==c&&"views"!==c&&o?(0,W.jsx)(Bl.O,{isOpen:!0,onClose:a,items:[{title:`${(0,hr.pg)(n)} data`,detail:"Export the current view.",formats:[{format:"pdf",url:location.href}]}]}):null,(0,W.jsxs)("div",{children:[["timeline","overview"].includes(c)&&(0,W.jsx)(My.L,{}),"overview"===c&&(0,W.jsxs)(W.Fragment,{children:[L?(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-lg-6 d-flex flex-column align-items-stretch",children:(0,W.jsx)(Kj,{rumMetric:n,rumBudget:"idle"===y?null==S?void 0:S.rumBudget:void 0,checkedConfig:b,onHoverBand:U})}),(0,W.jsx)("div",{className:"col-lg-6 d-flex flex-column align-items-stretch",children:(0,W.jsxs)(j.U5,{className:"d-flex flex-column flex-grow-1",title:Yj(b,y,v),boxHeading:!0,padded:!1,children:["idle"===y&&S?(0,W.jsx)(Qb.Fk,{hideTitle:!0,analysis:S.analysis,budget:S.rumBudget,rumMetric:n,initialFocusedAlertTimestamp:null===(t=S.analysis.at(-1))||void 0===t?void 0:t.currentPeriod.timestamp,hoveredBandType:R}):null,"loading"===y?(0,W.jsxs)("div",{className:"d-flex flex-column justify-content-center align-items-center",style:{height:400},children:[(0,W.jsx)("div",{className:"d-flex p-4",children:(0,W.jsx)(w.y,{addVerticalPadding:!1})}),(0,W.jsxs)("div",{children:["Loading"," ",null!=b&&b.budgetId?"budget":"notification"," ","status..."]})]}):null,"error"===y?(0,W.jsxs)("div",{className:"text-danger",children:["Error loading"," ",null!=b&&b.budgetId?"budget":"notification"," ","status"]}):null]})})]}):null,(0,W.jsxs)("div",{className:"row",children:[L?null:(0,W.jsx)("div",{className:"col-md-4 col-print-4 d-flex flex-column align-items-stretch",children:(0,W.jsx)(fv.hW,{rumMetric:n})}),(0,W.jsx)("div",{className:"col-md-"+(L?6:4),children:(0,W.jsx)($b,{rumMetric:n,title:"Distribution",small:!0,smallModeHref:(0,_.Ao)(A.DS.projectRumUrl(r.id,n,void 0,{infoSelection:"breakdown"}),(0,d.u)())})}),(0,W.jsx)("div",{className:"col-md-"+(L?6:4),children:(0,W.jsx)(j.U5,{padded:!1,title:"Timeline",boxHeading:!0,titleHref:(0,_.Ao)(A.DS.projectRumUrl(r.id,n,void 0,{infoSelection:"timeline"}),(0,d.u)()),moreInfoContent:"See how the metric value has changed over time.\nYou can also use to date selector in top right of the page to compare two time periods.",children:(0,W.jsx)("div",{className:"rum-trend-chart-container",children:(0,W.jsx)(Hb.m,{project:r,rumMetric:n,small:!0})})})})]}),["ttfb","fcp","lcp","inp","cls"].includes(n)?(0,W.jsx)($y,{keepSideBySideInCompare:!0,left:(0,W.jsx)(j.U5,{title:`${(0,hr.pg)(n,r.rumSnippet)} Trend`,boxHeading:!0,padded:!1,titleChildren:(0,W.jsx)(By.V,{rumMetric:n,rumSnippetId:r.rumSnippet.id}),children:(0,W.jsx)(Hb.m,{project:r,rumMetric:"views",groupBy:n+"Rating",hideAxes:!0,hideLegend:!0,height:290,updateFilterQuery:{fn:e=>(0,_.Ao)(e,{cwvNotNull:n}),useEffectDependency:n+""}})}),right:(0,W.jsx)(Sj.f,{rumMetric:n,project:r})}):(0,W.jsx)(Sj.f,{rumMetric:n,project:r}),(0,W.jsx)($y,{left:(0,W.jsx)(Xy.Au,{defaultGroupBy:"urlPath",defaultSortBy:"count",rumMetric:n,rating:n,showViewCountWithTitle:!0}),right:(0,W.jsx)(Xy.Au,{defaultGroupBy:"urlPath",defaultSortBy:"value",rumMetric:n,rating:n,showViewCountWithTitle:!0})}),"ttfb"===n&&(0,W.jsx)(_j,{project:r}),"lcp"===n&&(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-xl-6",children:(0,W.jsx)(Mj,{showInsight:!1})}),(0,W.jsx)("div",{className:"col-xl-6",children:(0,W.jsx)(wj,{project:r})}),(0,W.jsx)("div",{className:"col-xl-6",children:(0,W.jsx)(zy,{groupBy:"lcpScriptDomain",rumMetric:"lcpScriptDuration"})}),(0,W.jsx)("div",{className:"col-xl-6",children:(0,W.jsx)(Ry,{})})]}),"inp"===n&&(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-xl-6",children:(0,W.jsx)(xj,{project:r})}),(0,W.jsx)("div",{className:"col-xl-6",children:(0,W.jsx)(zy,{groupBy:"inpPrimaryScriptDomain",rumMetric:"inpPrimaryScriptDuration"})})]}),"lcpCpuTime"===n&&(0,W.jsx)("div",{className:"row",children:(0,W.jsx)("div",{className:"col-xl-12",children:(0,W.jsx)(zy,{groupBy:"lcpScriptDomain",rumMetric:n})})}),(0,W.jsx)(Xy.Au,{rumMetric:n,defaultGroupBy:"urlPath",defaultSortBy:"count",title:"Detailed View",rating:n}),p&&(0,W.jsxs)("div",{children:[(0,W.jsx)(tg.k,{type:"info",children:"Check if changes are caused by a different visitors rather than your website."}),(0,W.jsx)(Xy.Au,{rumMetric:n,defaultGroupBy:"referrerDomain",defaultSortBy:"count",title:"Referrer Domain",rating:n}),(0,W.jsx)(Xy.Au,{rumMetric:n,defaultGroupBy:"networkType",defaultSortBy:"count",title:"Network Type",rating:n})]}),!p&&"ttfbWait"===n&&(0,W.jsxs)("div",{children:[(0,W.jsx)(Xy.Au,{rumMetric:n,defaultGroupBy:"referrerDomain",defaultSortBy:"count",title:"Referrer Domain",rating:n}),(0,W.jsx)(Xy.Au,{rumMetric:n,defaultGroupBy:"utmCampaign",defaultSortBy:"count",title:"UTM Campaign",rating:n})]})]}),"timeline"===c&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{className:"row",children:(0,W.jsx)("div",{className:"col-lg-12 d-flex",children:(0,W.jsx)(Hj,{project:r,rumMetric:n})})}),"lcp"===n&&(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-lg-4 col-print-4",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"ttfb",hideAxes:!0,height:125})}),(0,W.jsx)("div",{className:"col-lg-4 col-print-4",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"fcp",hideAxes:!0,height:125})}),(0,W.jsx)("div",{className:"col-lg-4 col-print-4",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"lcp",hideAxes:!0,height:125})})]}),(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-xl-4 col-print-4",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"lcpLoadDelay",hideAxes:!0,height:125})}),(0,W.jsx)("div",{className:"col-xl-4 col-print-4",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"lcpLoadTime",hideAxes:!0,height:125})}),(0,W.jsx)("div",{className:"col-xl-4 col-print-4",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"lcpRenderDelay",hideAxes:!0,height:125})})]})]}),"inp"===n&&(0,W.jsx)("div",{children:(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-lg-6 col-print-6",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"inputDelay",hideAxes:!0,height:125})}),(0,W.jsx)("div",{className:"col-lg-6 col-print-6",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"processingTime",hideAxes:!0,height:125})}),(0,W.jsx)("div",{className:"col-lg-6 col-print-6",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"presentationDelay",hideAxes:!0,height:125})}),(0,W.jsx)("div",{className:"col-lg-6 col-print-6",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"inp",hideAxes:!0,height:125})})]})}),"ttfb"===n&&(0,W.jsx)("div",{children:(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-lg-4 col-print-4",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"ttfbRedirect",hideAxes:!0,height:125})}),(0,W.jsx)("div",{className:"col-lg-4 col-print-4",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"ttfbWait",hideAxes:!0,height:125})}),(0,W.jsx)("div",{className:"col-lg-4 col-print-4",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"ttfbDns",hideAxes:!0,height:125})}),(0,W.jsx)("div",{className:"col-lg-4 col-print-4",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"ttfbTcp",hideAxes:!0,height:125})}),(0,W.jsx)("div",{className:"col-lg-4 col-print-4",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"ttfbSsl",hideAxes:!0,height:125})}),(0,W.jsx)("div",{className:"col-lg-4 col-print-4",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"ttfbResponse",hideAxes:!0,height:125})})]})}),(0,W.jsx)("div",{className:"mt-2 row",children:(0,W.jsxs)("div",{className:"col-lg-5 col-md-8 col-print-5",children:[(0,W.jsx)("label",{className:"scale-small-1 color-coldGrey1 mb
1-0",children:"Group By"}),(0,W.jsxs)("div",{className:"d-flex align-items-center",children:[(0,W.jsx)("div",{style:{flexGrow:1},children:(0,W.jsx)(Mb.O,{value:N,rumSnippet:r.rumSnippet,onChange:I,offerNullOption:!0})}),(0,W.jsxs)("label",{className:"mb-0 ml-2 d-flex align-items-center color-grey3 inherit-color-on-hover cursor-pointer",children:[(0,W.jsx)("input",{type:"checkbox",className:"checkbox mr-1",checked:D,onChange:e=>P(e.target.checked)})," ","Show View Count"]})]})]})}),(0,W.jsxs)("div",{className:"row",children:[D&&(0,W.jsx)("div",{className:"col-lg-12",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:"views",groupBy:(0,Vr.nc)(N)?N:void 0})},"chart-views"),[n,...{ttfb:[],lcp:[],fcp:["ttfb"],inp:[]}[n]||[]].map(e=>(0,W.jsx)("div",{className:"col-lg-12 col-print-12",children:(0,W.jsx)(Uy.X,{project:r,rumMetric:e,groupBy:(0,Vr.nc)(N)?N:void 0})},`chart-${e}`))]})]}),"elements"===c&&(0,W.jsx)(mj,{rumMetric:n,project:r}),"breakdown"===c&&(0,W.jsx)("div",{children:(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-md-12 col-print-12",children:(0,W.jsx)($b,{rumMetric:n})}),(0,W.jsx)("div",{className:"col-md-12 mt-3 col-print-12",children:(0,W.jsx)(H.L,{title:"Breakdown",optionValue:M,onSelectOption:O,options:[{title:"Auto",value:"auto"},{title:"Device",value:"device"}]})}),"auto"===M&&(0,W.jsx)("div",{className:"col-md-12 col-print-12",children:(0,W.jsxs)("div",{className:"row",children:["inp"===n&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{className:"col-xl-6 col-print-6",children:(0,W.jsx)(zy,{groupBy:"inpEvent",rumMetric:n})}),(0,W.jsx)("div",{className:"col-xl-6 col-print-6",children:(0,W.jsx)(zy,{groupBy:"inpLoadStage",rumMetric:n})}),(0,W.jsx)("div",{className:"col-xl-6 col-print-6",children:(0,W.jsx)(zy,{groupBy:"inpType",rumMetric:n})}),(0,W.jsx)("div",{className:"col-xl-6 col-print-6",children:(0,W.jsx)(zy,{groupBy:"inpPrimaryScriptInvokerType",rumMetric:n})}),(0,W.jsx)("div",{className:"col-xl-6 d-flex col-print-6",children:(0,W.jsx)(Xy.Au,{defaultGroupBy:"inpType",defaultSortBy:"count",rumMetric:n,showDetailedTitle:!0})}),(0,W.jsx)("div",{className:"col-xl-6 d-flex col-print-6",children:(0,W.jsx)(Xy.Au,{defaultGroupBy:"inpPrimaryScriptDomain",defaultSortBy:"count",rumMetric:n,showDetailedTitle:!0})}),(0,W.jsx)("div",{className:"col-xl-6 col-print-6 d-flex",children:(0,W.jsx)(Xy.Au,{defaultGroupBy:"inpPrimaryScriptInvoker",defaultSortBy:"count",rumMetric:n,showDetailedTitle:!0})})]}),"fcp"===n&&(0,W.jsx)("div",{className:"col-xl-6 col-print-6 d-flex",children:(0,W.jsx)(Xy.Au,{defaultGroupBy:"lastBlockingRequest",defaultSortBy:"count",rumMetric:n,showDetailedTitle:!0})}),"lcp"===n&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{className:"col-xl-6 col-print-6",children:(0,W.jsx)(zy,{groupBy:"lcpType",rumMetric:n})}),(0,W.jsx)("div",{className:"col-xl-6 col-print-6",children:(0,W.jsx)(zy,{groupBy:"navigationType",rumMetric:n})}),(0,W.jsx)("div",{className:"col-xl-6 col-print-6 d-flex",children:(0,W.jsx)(Xy.Au,{defaultGroupBy:"path1",defaultSortBy:"count",rumMetric:n,showDetailedTitle:!0})}),(0,W.jsx)("div",{className:"col-xl-6 col-print-6 d-flex",children:(0,W.jsx)(Xy.Au,{defaultGroupBy:"lcpUrl",defaultSortBy:"count",rumMetric:n,showDetailedTitle:!0})})]}),(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{className:"col-xl-6 col-print-6  d-flex",children:(0,W.jsx)(Xy.Au,{defaultGroupBy:"referrerDomain",defaultSortBy:"count",rumMetric:n,showDetailedTitle:!0})}),(0,W.jsx)("div",{className:"col-xl-6 col-print-6 d-flex",children:(0,W.jsx)(Xy.Au,{defaultGroupBy:"utmCampaign",defaultSortBy:"count",rumMetric:n,showDetailedTitle:!0})})]})]})}),"device"===M&&(0,W.jsx)(Ky,{rumMetric:n})]})}),"views"===c&&(0,W.jsxs)(j.U5,{padded:!1,title:"Page Views",boxHeading:!0,titleChildren:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Ly.j,{}),"inp"===n&&(0,W.jsxs)("label",{className:"d-flex ml-auto pl-3 align-items-center cursor-pointer scale-small-1 color-coldGrey2 mb-0",children:[(0,W.jsx)("input",{type:"checkbox",className:"checkbox mr-1",checked:G,onChange:e=>z(e.target.checked)}),(0,W.jsx)("div",{children:"Hide views without script breakdown"})]})]}),children:[o?(0,W.jsx)(Oy.c,{project:r,onCloseExportDialog:a}):null,(0,W.jsx)(Db.Ok,{defaultCount:50,rumMetric:n,notNullBreakdown:G&&"inp"===n?"inpPrimaryScriptInvoker":void 0})]}),"table"===c&&(0,W.jsx)(g.l$,{showExportDialog:o,onCloseExportDialog:a,project:r,metrics:[n],notNullMetric:n,rating:hr.f6.includes(n)?n:null}),"optimize"===c&&(0,W.jsx)(Nj,{rumMetric:n})]})]})}function Kj(e){var t,r;let n=e.rumMetric,i=e.rumBudget,o=e.checkedConfig,a=e.onHoverBand;const l=(0,fv.AY)(n),s=(0,Or.n)().project,c=o?(u=s.id,null!=(m=o)&&m.budgetId?A.DS.projectRumUrl(u,"config",{budgetIds:[m.budgetId]},{infoSelection:"budgets"}):null!=m&&m.notificationConfigId?A.DS.projectUrl(u,`integrations/config/${m.notificationConfigId}`):void 0):void 0,d=null!=o&&o.budgetId?null!==(t=null==i?void 0:i.name)&&void 0!==t?t:"Unknown":"Auto-generated";var u,m,p,g,f;return(0,W.jsxs)(j.U5,{className:"d-flex flex-column flex-grow-1",title:(0,hr.pg)(n,s.rumSnippet),boxHeading:!0,padded:!1,children:[(0,W.jsx)(fv.HH,{rumMetric:n,data:l,noBudget:!i,onHoverBand:a}),i&&(0,W.jsx)("div",{className:"px-3 pt-3 pb-3",style:{borderTop:"1px solid #eee"},children:(0,W.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"auto 1fr",columnGap:16,rowGap:4,alignItems:"baseline"},children:[(0,W.jsx)("span",{children:"Budget"}),(0,W.jsxs)("span",{className:"d-flex align-items-center gap-xsm",children:[d,c&&(0,W.jsx)($.N_,{to:c,"aria-label":"Edit budget",style:{color:"inherit",opacity:.5},onMouseEnter:e=>{e.currentTarget.style.opacity="1"},onMouseLeave:e=>{e.currentTarget.style.opacity="0.5"},children:(0,W.jsx)(Zc.q,{})})]}),null!=i.alertAfterNConsecutiveBreaches&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("span",{children:"Notify"}),(0,W.jsx)("span",{children:(p=i.alertAfterNConsecutiveBreaches,null!==(g=null===(f=qb.find(e=>e.value===p))||void 0===f?void 0:f.label)&&void 0!==g?g:`After ${p} Consecutive Breaches`)})]}),null!=i.baselineWindowSize&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("span",{children:"Baseline"}),(0,W.jsx)("span",{children:Kb(i.baselineWindowSize)})]})]})}),(0,W.jsx)(h.mY,{items:(null!==(r=null==i?void 0:i.conditions)&&void 0!==r?r:[]).filter(
1Boolean),getItemKey:(e,t)=>String(t),columns:{condition:{heading:{title:"Condition"},render:e=>(0,fv.Z_)(e)},budget:{heading:{title:"Budget",alignRight:!0},render:e=>(0,fv.el)(e,l.dataType)},breach:{heading:{title:"Breach",alignRight:!0},render:e=>{var t;return null!==(t=(0,fv.vZ)(e,l))&&void 0!==t?t:""}}}})]})}function Yj(e,t,r){const n=null!=e&&e.budgetId?"Budget ":"";return"loading"===t?`Loading ${n} Status...`:"error"===t?`Error loading ${n} Status`:r?"Alert History":n+"Status"}function Jj(e){let t=e.project;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Uy.X,{defaultValue:0,project:t,rumMetric:"errorCount"}),(0,W.jsx)(j.U5,{padded:!1,title:"Error Messages",boxHeading:!0,children:(0,W.jsx)(g.jl,{project:t,groupBy:"firstErrorMessage",maxCategories:10,metrics:Zj,rating:null,notNullMetric:["firstErrorMessage"],hideViewStatColumn:!0,hideCategoryCountMessage:!0})}),(0,W.jsx)(j.U5,{padded:!1,title:"Error Script URLs",boxHeading:!0,children:(0,W.jsx)(g.jl,{project:t,groupBy:"firstErrorFilename",maxCategories:10,metrics:Zj,rating:null,notNullMetric:["firstErrorFilename"],hideViewStatColumn:!0,hideCategoryCountMessage:!0})}),(0,W.jsx)(j.U5,{padded:!1,title:"Errors by page",boxHeading:!0,children:(0,W.jsx)(g.jl,{project:t,groupBy:"urlPath",maxCategories:10,metrics:Zj,rating:null,notNullMetric:["firstErrorFilename"],hideViewStatColumn:!0,hideCategoryCountMessage:!0})})]})}function Qj(e){let t=e.infoSelection,r=e.onCloseExportDialog,n=e.project,i=e.showExportDialog;if(!n.rumSnippet)return null;switch(t){case"overview":return(0,W.jsx)(Jj,{project:n});case"timeline":return(0,W.jsx)(Xj,{project:n,rumMetric:"errorCount",infoSelection:t,onCloseExportDialog:T.noop},"errorCount");case"views":return(0,W.jsx)(Db.Cy,{project:n,showExportDialog:i,onCloseExportDialog:r,rumMetric:"errorCount",notNullOption:"firstErrorMessage"});default:return null}}Gj.styleTagTransform=ve(),Gj.setAttributes=pe(),Gj.insert=ue().bind(null,"head"),Gj.domAPI=ce(),Gj.insertStyleElement=he(),le()(Wj.A,Gj),Wj.A&&Wj.A.locals&&Wj.A.locals;const Zj=["errorCount"];function ew(e){let t=e.infoSelection,r=void 0===t?"overview":t,n=e.project,i=e.updateProject,o=e.showExportDialog,a=e.onCloseExportDialog;const l=(0,Or.n)().setStat;(0,B.useEffect)(()=>()=>{"p75"===(0,d.u)().stat&&l(void 0,{replace:!0})},[l]);const s=e=>A.DS.projectRumUrl(n.id,"errors",(0,d.u)(),e),c=[{title:"Overview",testId:"overview",href:s({infoSelection:""}),selected:"overview"===r},{title:"Timeline",testId:"timeline",href:s({infoSelection:"timeline"}),selected:"timeline"===r},{title:"Page Views",testId:"views",href:s({infoSelection:"views"}),selected:"views"===r}];return(0,W.jsx)(Vb.p,{project:n,navTabs:c,children:(0,W.jsx)(Qj,{infoSelection:r,project:n,updateProject:i,showExportDialog:o,onCloseExportDialog:a})})}function tw(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return rw(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?rw(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rw(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}const nw={hardNavCount:"Hard Navigation Count",navigationCount:"Navigation Count",sessionDuration:"Session Duration"};function iw(e){let t=e.rumMetric,r=e.title,n=e.small,i=e.smallModeHref,o=e.aggregationLevel,l=void 0===o?"session":o,s=e.absoluteComparisonTo;const c="session"===l?"sessions":"views",d=(0,a.A)(e=>e.highContrast),m=(0,Aa.D)(),p=(0,Or.n)(),g=p.comparisonSearch,h=p.addFilter,f=p.project,v=B.useContext(wu.B).isDarkMode,b=tw((0,V.t)("histogramGroupBy",null,{useReplaceNavigation:!0}
1),2),x=b[0],y=b[1],w=tw(B.useState(null),2),S=w[0],_=w[1],C=n?null:x,A=tw((0,jb.w)({method:u.FH.getRumSessionAbsoluteMetricHistogram,getArgs:e=>{if("page"===l)throw new Error("Page level histogram not implemented for absolute comparison.");return[{snippetId:f.rumSnippet.id,rumMetric:t,query:e,absoluteComparisonTo:s,groupBy:null!=C?C:void 0}]},additionalDependencies:[t,l,s,C]}),3),I=A[0],D=A[1],P=A[2],F=n?g?131:93:350,M=(0,Or.n)().stat,O=tw((0,jb.w)({method:u.FH.getRumStats,getArgs:e=>[{snippetId:f.rumSnippet.id,query:e,metrics:[t]}],additionalDependencies:[M,f.id,t]}),2),L=O[0],E=O[1];let R=null;var U,$;I&&"loading"!==P.comparison&&(R=function(e){let t=e.data,r=e.rumMetric,n=e.addFilter,i=e.small,o=e.height,a=e.rumSnippet,l=e.isDarkMode,s=e.highContrast,c=e.stat,d=e.value,u=e.compValue,m=e.darkMode,p=e.absoluteComparisonTo,g=e.aggregationLevel,h=e.groupBy;const f="session"===g?"Sessions":"Views",v=2===t.length,b=[(0,N.cz)(t[0].map(e=>e.count)),v?(0,N.cz)(t[1].map(e=>e.count)):0],x=[(0,Ca.p)("count",!1,"session"===g?"Sessions":"Page Views")],y=!!h&&Array.isArray(t[0])&&t[0].some(e=>e.groups),j=[];if(y){const e=new Map;t[0].forEach(t=>{var r;Object.entries(null!==(r=t.groups)&&void 0!==r?r:{}).forEach(t=>{var r;let n=tw(t,2),i=n[0],o=n[1];e.set(i,(null!==(r=e.get(i))&&void 0!==r?r:0)+o)})}),j.push(...[...e.keys()].sort((t,r)=>{var n,i;return t===Jo?1:r===Jo?-1:(null!==(n=e.get(r))&&void 0!==n?n:0)-(null!==(i=e.get(t))&&void 0!==i?i:0)}))}const w=e=>e===Jo?"Other":"null"===e||""===e?"N/A":(0,ln.F)(h,a.rumPageGroups).getValueLabel(e)||e,S={labels:{formatter:function(){const e=t[0].find(e=>e.from===this.value),n=(0,T.last)(t[0])===e;return(0,N.Fl)(this.value,(0,hr.T5)(r))+(n?"+":"")}},visible:!0,...i||"number"!=typeof d||p?{}:{plotLines:[_({value:d}),..."number"==typeof u?[_({value:u,type:"comparison"})]:[]]}};function _(e){let t=e.value,n=e.type;const i=(0,k.ew)(r,t),o=Eg.Y[i],a=(0,bu.f9)("comparison"===n?.8:1)[i],l=(0,N.Fl)(t,(0,hr.T5)(r));return{value:t,width:2,color:a,className:"testid-histogram-stat-plotline",dashStyle:"comparison"===n?"Dot":"Dash",label:{text:`<div style="background: ${m?"#171923":"white"}">\n                  ${"comparison"===n?"":`<div style="font-size: 10px;" class="color-coldGrey1">${(0,N.ZD)(c.toUpperCase())}</div>`}\n                  <div\n                    style="font-size: ${"comparison"===n?13:16}px; opacity: ${"comparison"===n?.8:1}; font-weight: 600; color: ${o}"\n                    >${(0,N.ZD)(l)}</div>\n                </div>`,x:12,color:"#777",rotation:0,y:15,useHTML:!0}}}i&&(x.forEach(e=>e.visible=!1),S.visible=!1);const C=[...y?j.map((e,r)=>({name:w(e),stacking:"normal",color:Ia.dy[r%Ia.dy.length],data:t[0].map(t=>{var r,n;return{y:null!==(r=null===(n=t.groups)||void 0===n?void 0:n[e])&&void 0!==r?r:0,x:t.from,borderColor:l?"#2b363c":"white",...t}})})):[{name:`Recorded ${f}`,data:t[0].map(e=>{const t=(0,bu.yo)((0,k.ew)(r,null===e.to?1e8:e.to-1e-6));return{y:e.count,x:e.from,borderColor:l?"#2b363c":"white",color:t,...e}})}],...t[1]&&!y?[{name:`Comparison ${f}`,data:t[1].map(e=>{const t=`rgba(${(0,Jh.iN)((0,Jh.u9)((0,k.ew)(r,null===e.to?1e8:e.to-1e-6),s),.4)})`;return{y:e.count,x:e.from,borderColor:l?"#2b363c":"white",color:t,...e}})}]:[]];if(p){x.push((0,Ca.p)("sessionDuration"===p?"duration":"count",!1,nw[p]||"Comparison Metric",{opposite:!0,gridLineWidth:0,min:0}));const e=t[0].map(e=>({y:e.value,x:e.from,color:"#544fc5",...e}));C.push({name:nw[p]||"Comparison Metric",type:"spline",lineWidth:2,marker:{lineWidth:0,lineColor:"rgba(0,0,0,0)",enabled:!1},yAxis:1,data:e}),v&&C.push({name:nw[p]||"Comparison Metric",type:"spline",lineWidth:2,marker:{enabled:!1},yAxis:1,data:t[1].map(e=>{const t=`rgba(${(0,Jh.iN)("#999999",.4)})`;return{y:e.value,x:e.from,color:t,...e}})})}const A=(e,r)=>{var n;const i=null===(n=t[e])||void 0===n?void 0:n[r];if(!i||0===b[e])return{pct:0,breakdownPct:0,isLastBucket:!0,percentile:0,count:0};const o=0===i.count?0:Math.round(i.countWithTag/i.count*1e3)/10,a=(0,N.cz)(t[e].filter(n=>n.from<=t[e][r].from).map(e=>e.count));let l=a===b[e];return{pct:Math.round(i.count/b[e]*1e3)/10,breakdownPct:o,isLastBucket:l,percentile:Math.round(a/b[e]*1e3)/10,count:i.count}};return{chart:{type:"column",spacingTop:i?0:void 0,spacingLeft:0,spacingRight:0,spacingBottom:0,height:o,animation:!1,backgroundColor:"transparent"},title:void 0,plotOptions:{column:{animation:!1,pointPadding:0,groupPadding:v?.05:0,stacking:y?"normal":void 0},spline:{animation:!1},series:{states:{inactive:{enabled:!1}},cursor:"pointer",point:{events:{click:function(){const e=this.options,t=e.from,i=e.to,o=[];null!=t&&o.push(t),o.push("-"),null!=i&&o.push(i);const a=o.join("");n(r,a)}}}}},credits:{enabled:!1},legend:{enabled:y},xAxis:S,yAxis:x,tooltip:(0,Fb.mS)((e,n)=>{let i=n.seriesIndex;const o=t[v?i%2:0].findIndex(t=>t.from===e.from&&t.count===e.count),l=A(0,o),s=A(1,o);return{heading:{title:`${(0,hr.tm)(r,a)} from ${(0,N.Fl)(e.from,(0,hr.T5)(r))} ${e.to?`to ${(0,N.Fl)(e.to,(0,hr.T5)(r))}`:""}`},badges:[p?{title:nw[p]||"Comparison Metric",value:"sessionDuration"===p?(0,N.a3)(Math.max(e.value,0)):(0,N.B4)(e.value)}:{title:"Percentage",value:`${l.pct}% ${v?`(${s.pct}%)`:""}`,icon:Fb.bY},{title:"session"===g?"Sessions":"Page Views",value:`${(0,N.Ke)(l.count)} ${v?`(${(0,N.Ke)(s.count)})`:""}`,icon:Fb.Fv},...l.isLastBucket?[]:[{title:`< ${(0,N.Fl)(e.to,(0,hr.T5)(r))}`,value:`${l.percentile}% ${v?`(${s.percentile}%)`:""}`}]]}}),series:C}}({data:D?[I,D]:[I],rumMetric:t,addFilter:h,small:n,height:F,rumSnippet:f.rumSnippet,isDarkMode:v,highContrast:d,stat:M,value:null==L||null===(U=L[t])||void 0===U?void 0:U.val,compValue:null==E||null===($=E[t])||void 0===$?void 0:$.val,absoluteComparisonTo:s,darkMode:m,aggregationLevel:l,groupBy:C})),r=r||(s?`${(0,hr.pg)(t,f.rumSnippet)} vs ${function(e){return nw[e]||"Comparison Metric"}(s)}`:`${(0,hr.pg)(t,f.rumSnippet)} Distribution`);const H=I?(0,N.cz)(I.map(e=>e.count)):null,G=D?(0,N.cz)(D.map(e=>e.count)):null,z=e=>e>99999?(0,N.Fl)(e,"count"):(0,N.Ke)(e),q=null===H?null:(0,W.jsx)("span",{className:"scale-small-1 color-coldGrey1",children:g&&null!==G?`${z(G)} ➔ ${z(H)} ${c}`:`${z(H)} ${c}`}),X=n?q:(0,W.jsxs)("div",{className:"d-flex align-items-center gap-2",children:[q,(0,W.jsx)(ur.K,{icon:"config",size:16,title:"Histogram settings",className:"color-coldGrey2 opacity-0.5 hover:opacity-1 cursor-pointer ml-1",onClick:e=>_(e.currentTarget)}),S?(0,W.jsx)(pi.A,{anchorElement:S,onClose:()=>_(null),anchorAlignment:"right",children:(0,W.jsxs)("div",{style:{minWidth:240,maxWidth:300},children:[(0,W.jsx)("label",{className:"label mt-0",children:"Group By"}),(0,W.jsx)(Mb.O,{value:x,onChange:y,offerNullOption:!0,rumSnippet:f.rumSnippet})]})}):null]});return(0,W.jsx)(j.U5,{padded:!n,title:r,boxHeading:!0,moreInfoContent:"The histogram shows the distribution of visitor experiences on your website.\n\nExperiences for the same website vary for different visitors due to connection speed, device speed, how busy the server is, and other factors.\n\nEven a fast website sometimes be slow for some people.",moreInfoHref:"/docs/rum/percentiles",titleHref:n&&i?i:void 0,titleChildren:X,children:R?(0,W.jsx)(Na.F,{options:R}):(0,W.jsx)(Pb.L,{height:F})})}
1function ow(e){let t=e.rumMetric,r=e.rumSnippet,n=e.onChange;const i=hr.H9.map(e=>({label:(0,hr.pg)(e,r),value:e}));return(0,W.jsx)(Dt.l,{options:i,value:i.find(e=>e.value===t),onChange:e=>n(e.value),className:"with-border"})}function aw(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function lw(e){let t=e.rumMetric,r=e.rumSnippet,n=e.conversionName,i=e.rumSessionMetric;const o=(s=(0,jb.w)({method:u.FH.getRumSessionConversionTrends,getArgs:e=>[{snippetId:r.id,query:e,rumMetric:t,rumSessionMetric:i,conversion:n}],additionalDependencies:[t,n,r.id,i]}),c=2,function(e){if(Array.isArray(e))return e}(s)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(s,c)||function(e,t){if(e){if("string"==typeof e)return aw(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?aw(e,t):void 0}}(s,c)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=o[0],l=o[1];var s,c;return a?(0,W.jsx)(Na.F,{options:cw({data:[a.trends,l?l.trends:null],rumMetric:t,height:350,rumSnippet:r,conversion:n,rumSessionMetric:i})}):(0,W.jsx)(Pb.L,{height:350})}const sw={hardNavCount:"Hard Navigations",navigationCount:"Navigations",sessionDuration:"Session Duration"};function cw(e){let t=e.data,r=e.rumMetric,n=e.small,i=e.height,o=e.rumSnippet,a=e.rumSessionMetric,l=e.conversion;const s=!!t[1],c=[(0,Ca.p)((0,hr.T5)(r),!1,(0,hr.pg)(r))],d=[{name:(0,hr.pg)(r),type:"spline",data:t[0].map(e=>({y:e.rumMetricValue,x:e.date,...e})),marker:{enabled:!1}},...t[1]?[{name:"Comparison Sessions",type:"spline",data:t[1].map(e=>({y:e.rumMetricValue,x:e.date,...e}))}]:[]];return a&&(c.push((0,Ca.p)("sessionDuration"===a?"duration":"count",!1,sw[a]||"Comparison Metric",{opposite:!0,gridLineWidth:0})),d.push(...function(e,t){const r=!!e[1],n=[],i=e[0].map(e=>({y:e.sessionMetricValue,x:e.date,...e}));if(n.push({name:sw[t],type:"spline",lineWidth:2,marker:{enabled:!1},yAxis:1,data:i}),r){const r=e[1];n.push({name:sw[t],type:"spline",lineWidth:2,marker:{enabled:!1},yAxis:1,data:r.map(e=>({y:e.sessionMetricValue,x:e.date,...e}))})}return n}(t,a))),l&&(c.push((0,Ca.p)("pct",!1,`${l} %`,{opposite:!0,min:0,max:1})),d.push(...function(e,t){const r=[],n=!!e[1],i=e[0].map(e=>({y:Ob(e.countWithConversion,e.count),x:e.date,...e}));if(r.push({name:t,type:"spline",lineWidth:2,marker:{enabled:!1},yAxis:1,data:i}),n){const n=e[1];r.push({name:t,type:"spline",lineWidth:2,marker:{enabled:!1},yAxis:1,data:n.map(e=>({y:Ob(e.countWithConversion,e.count),x:e.date,...e}))})}return r}(t,l))),{chart:{type:"spline",spacingTop:n?0:void 0,spacingLeft:0,spacingRight:0,spacingBottom:0,height:i,animation:!1,backgroundColor:"transparent"},title:void 0,plotOptions:{column:{animation:!1,pointPadding:0,groupPadding:s?.05:0},spline:{animation:!1}},credits:{enabled:!1},legend:{enabled:!0},xAxis:{type:"datetime",visible:!0},yAxis:c,tooltip:dw({data:t,rumSessionMetric:a,conversion:l,rumMetric:r,rumSnippet:o}),series:d}}function dw(e){let t=e.data,r=e.rumSessionMetric,n=e.conversion,i=e.rumMetric,o=e.rumSnippet;const a=!!t[1],l=(e,r)=>{var n;const i=null===(n=t[e])||void 0===n?void 0:n[r];return i?{pct:Math.round(100*Ob(i.countWithConversion,i.count)),count:i.count}:{pct:0,count:0}};return(0,Fb.mS)((e,s)=>{let c=s.seriesIndex;const d=t[a?c%2:0].findIndex(t=>t.date===e.date&&t.count===e.count),u=l(0,d),m=l(1,d);let p=[];var g,h;return r?p.push({title:sw[r]||"Comparison Metric",value:"sessionDuration"===r?(0,N.a3)(Math.max(null!==(g=e.sessionMetricValue)&&void 0!==g?g:0,0)):(0,N.B4)(null!==(h=e.sessionMetricValue)&&void 0!==h?h:0)}):n&&p.push({title:"Conversions",value:`${u.pct}% ${a?`(${m.pct}%)`:""}`}),{heading:{title:`${(0,hr.tm)(i,o)} and ${r?sw[r]:n}`},badges:[{title:(0,hr.pg)(i),value:(0,N.Fl)(e.rumMetricValue,(0,hr.T5)(i))},...p,{title:"Sessions",value:`${(0,N.Ke)(u.count)} ${a?`(${(0,N.Ke)(m.count)})`:""}`}]}})}const uw=[{label:"Session Duration",value:"sessionDuration",type:"absolute"},{label:"Hard Navigation Count",value:"hardNavCount",type:"absolute"},{label:"Total Navigation Count",value:"navigationCount",type:"absolute"}];function mw(e){return["sessionDuration","hardNavCount","navigationCount"].includes(e)}function pw(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return gw(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?gw(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function gw(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function hw(e){let t=e.project;const r=pw((0,V.t)("conversionsRumMetric","lcp",{parse:e=>(0,Vr.Ip)(e)?e:void 0}),2),n=r[0],i=r[1],o=pw((0,V.t)("conversionsTag","sessionDuration"),2),a=o[0],l=o[1],s=pw((0,jb.w)({method:u.FH.getRumSessionConversions,getArgs:e=>[t.rumSnippet.id,e],additionalDependencies:[t.rumSnippet.id]}),2),c=s[0],d=s[1],m=(0,B.useMemo)(()=>[{label:"Session Metrics",options:uw},{label:"Conversions",options:Array.from(new Set([...null!=c?c:[],...null!=d?d:[],...mw(a)?[]:[a]])).sort((e,t)=>e.localeCompare(t)).map(e=>({label:e,value:e}))}],[c,d,a]),p=mw(a),g=p?a:void 0,h=p?void 0:a;return(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{className:"row mt-3",children:[(0,W.jsx)("div",{className:"col-md-6 col-xl-4",children:(0,W.jsx)(ow,{onChange:e=>i(e),rumMetric:n,rumSnippet:t.rumSnippet})}),(0,W.jsxs)("div",{className:"col-md-6 col-xl-4 d-flex align-items-center",children:[(0,W.jsx)("div",{className:"flex-grow-1",children:(0,W.jsx)(Dt.l,{options:m,value:m.flatMap(e=>e.options).find(e=>e.value===a),onChange:e=>l(e.value),className:"with-border"})}),(0,W.jsx)("div",{className:"ml-2",children:(0,W.jsx)(x.c,{content:"See how performance correlates with business metrics. You can also record custom conversion events.",href:"/docs/rum/conversion-tracking"})})]})]}),(0,W.jsx)("div",{className:"row",children:(0,W.jsx)("div",{className:"col-md-12",children:p?(0,W.jsx)(iw,{rumMetric:n,aggregationLevel:"session",absoluteComparisonTo:g}):(0,W.jsx)($b,{rumMetric:n,breakdownTag:h,aggregationLevel:"session"})})}),(0,W.jsx)("div",{className:"row",children:(0,W.jsx)("div",{className:"col-md-12",children:(0,W.jsx)(j.U5,{title:"Sessions Timeline",boxHeading:!0,moreInfoContent:"This chart shows a timeline of the selected metrics to view recent performance and how it has changed over time.",moreInfoHref:"/docs/rum/percentiles",children:(0,W.jsx)(lw,{rumMetric:n,rumSnippet:t.rumSnippet,conversionName:h,rumSessionMetric:g})})})})]})}function fw(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return vw(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vw(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vw(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function bw(e){var t,r;let n=e.project;const i=n.rumSnippet,o=null!==(t=null==i||null===(r=i.config.privacy)||void 0===r?void 0:r.sessions)&&void 0!==t&&t,a=fw((0,B.useState)(!1),2),l=a[0],s=a[1];return(0,W.jsxs)("div",{children:[o&&(0,W.jsx)(hw,{project:n}),!o||l?(0,W.jsxs)("div",{children:[l&&(0,W.jsx)("div",{style:{fontWeight:500},className:"mt-4",children:"Page View Based Conversion Metrics"}),(0,W.jsx)(xw,{project:n})]}):(0,W.jsx)("div",{className:"mt-4",children:(0,W.jsx)("button",{className:"btn btn-link scale-small-1 link-blue-on-hover",onClick:()=>s(!0),children:"Show Page View Based Conversion Metrics"})}),!o&&(0,W.jsxs)("div",{className:"mt-4 scale-small-1 color-coldGrey2 d-flex align-items-center",children:[(0,W.jsx)(by.m,{}),(0,W.jsx)("div",{className:"ml-1",children:"You can enable session-based conversion tracking in the Privacy section of the Settings tab."})]})]})}function xw(e){let t=e.project;const r=fw((0,V.t)("engRumMetric","lcp",{parse:e=>(0,Vr.Ip)(e)?e:void 0}),2),n=r[0],i=r[1],o=fw((0,V.t)("engBreakdown","bounce"),2),a=o[0],l=o[1];return(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{className:"row mt-3",children:[(0,W.jsx)("div",{className:"col-md-3",children:(0,W.jsx)(ow,{onChange:e=>i(e),rumMetric:n,rumSnippet:t.rumSnippet})}),(0,W.jsx)("div",{className:"col-md-3",children:(0,W.jsx)(yw,{onChange:e=>l(e),breakdownTag:a})})]}),(0,W.jsx)("div",{className:"row",children:(0,W.jsx)("div",{className:"col-md-12",children:(0,W.jsx)($b,{rumMetric:n,breakdownTag:a})})})]})}function yw(e){let t=e.breakdownTag,r=e.onChange;const n=[{label:"Scroll 50%",value:"scroll50"},{label:"Bounce Rate",value:"bounce"},{label:"Stay 1 Minute",value:"stay1Min"},{label:"Stay 5 Minutes",value:"stay5Min"}];return(0,W.jsx)(Dt.l,{options:n,value:n.find(e=>e.value===t),onChange:e=>r(e.value),className:"with-border"})}function jw(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ww(e){let t=e.project,r=e.infoSelection,n=e.showExportDialog,i=e.onCloseExportDialog;const o=e=>A.DS.projectRumUrl(t.id,"stats",(0,d.u)(),e),a=(u=(0,V.t)("groupBy",void 0,{parse:e=>(0,Vr.nc)(e)?e:void 0}),m=2,function(e){if(Array.isArray(e))return e}(u)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,l=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}
1finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(u,m)||function(e,t){if(e){if("string"==typeof e)return jw(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?jw(e,t):void 0}}(u,m)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],s=a[1],c=[{title:"Overview",href:o({infoSelection:""}),selected:"overview"===r},{title:"Timeline",testId:"timeline",href:o({infoSelection:"timeline"}),selected:"timeline"===r},{title:"Breakdown",href:o({infoSelection:"breakdown"}),selected:"breakdown"===r},{title:"Page Views",testId:"views",href:o({infoSelection:"views"}),selected:"views"===r},{title:"Table",href:o({infoSelection:"table"}),selected:"table"===r}];var u,m;return(0,W.jsx)(Vb.p,{project:t,navTabs:c,children:(0,W.jsxs)("div",{children:[["timeline","overview"].includes(r)&&(0,W.jsx)(My.L,{}),"overview"===r&&(0,W.jsxs)("div",{children:[(0,W.jsx)($y,{left:(0,W.jsx)(Uy.X,{project:t,rumMetric:"views",height:328}),right:(0,W.jsx)(Xy.Au,{defaultGroupBy:"urlPath",rumMetric:"views",defaultSortBy:"count"})}),(0,W.jsx)(Sj.f,{rumMetric:"views",project:t,showViews:!0}),(0,W.jsxs)("div",{className:"row",children:[(0,W.jsx)("div",{className:"col-xl-6",children:(0,W.jsx)(Xy.Au,{defaultGroupBy:"referrerDomain",defaultSortBy:"count",rumMetric:"views",showDetailedTitle:!0},l)}),(0,W.jsx)("div",{className:"col-xl-6",children:(0,W.jsx)(Xy.Au,{defaultGroupBy:"utmCampaign",defaultSortBy:"count",rumMetric:"views",showDetailedTitle:!0},l)})]})]}),"timeline"===r&&(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"mt-2 row",children:(0,W.jsxs)("div",{className:"col-lg-3 col-md-4",children:[(0,W.jsx)("label",{className:"scale-small-1 color-coldGrey1 mb-0",children:"Group By"}),(0,W.jsx)(Mb.O,{value:l,rumSnippet:t.rumSnippet,onChange:e=>s(e),offerNullOption:!0})]})}),(0,W.jsx)("div",{className:"row",children:(0,W.jsx)("div",{className:"col-lg-12",children:(0,W.jsx)(Uy.X,{project:t,rumMetric:"views",groupBy:l})})})]}),"breakdown"===r&&(0,W.jsx)("div",{children:(0,W.jsx)(Ky,{rumMetric:"views"})}),"views"!==r&&"table"!==r&&n?(0,W.jsx)(Bl.O,{isOpen:!0,onClose:i,items:[{title:"RUM stats",detail:"Export the current view.",formats:[{format:"pdf",url:location.href}]}]}):null,"views"===r&&(0,W.jsx)(Db.Cy,{project:t,hideNotNullToggle:!0,notNullOption:null,showExportDialog:n,onCloseExportDialog:i,rumMetric:"ttfb"}),"table"===r&&(0,W.jsx)(g.l$,{showExportDialog:n,onCloseExportDialog:i,project:t,metrics:["views"],rating:null,hideViewStatColumn:!0})]})})}var Sw=r(74293);function _w(e){let t=e.project,r=e.tab,n=e.infoSelection,i=e.onCloseExportDialog,o=e.showExportDialog;const a=(0,d.u)(),s=e=>A.DS.projectRumUrl(t.id,r,a,e),c=(0,l.O)(),u=c.patchProjectState,m=c.fetchProject,p=(0,B.useCallback)(()=>m({timelineAnnotations:!0}),[m]);if("config"===r)return(0,W.jsx)(Fy,{project:t,reloadProject:p,infoSelection:n});if("views"===r){const e=A.DS.projectRumUrl(t.id,"trends",a,{infoSelection:"views"});return(0,W.jsx)($.C5,{to:e,replace:!0})}if(!t.rumSnippet){var g;const e={stats:"/public/empty-states/rum-stats.png",engagement:"/public/empty-states/rum-engagement.png"};return(0,W.jsx)(Ux.n,{project:t,reloadProject:p,imageSrc:"trends"===r?void 0:null!==(g=e[r])&&void 0!==g?g:"/public/empty-states/rum-metrics.png"})}return"trends"===r?(0,W.jsx)(Sw.p,{project:t,infoSelection:n,showExportDialog:o,onCloseExportDialog:i,updateProject:u}):"more"===r?(0,W.jsx)(Gb,{project:t,infoSelection:n},"more"):"engagement"===r?(0,W.jsx)(bw,{project:t}):"stats"===r?(0,W.jsx)(ww,{project:t,infoSelection:n,showExportDialog:o,onCloseExportDialog:i}):"errors"===r?(0,W.jsx)(ew,{project:t,infoSelection:n,updateProject:u,showExportDialog:o,onCloseExportDialog:i}):hr.KE.includes(r)?(0,W.jsx)(Xj,{project:t,rumMetric:r,infoSelection:n,showExportDialog:o,onCloseExportDialog:i,navTabs:[{title:"Overview",testId:"overview",href:s({infoSelection:""}),selected:"overview"===n},{title:"Timeline",testId:"timeline",href:s({infoSelection:"timeline"}),selected:"timeline"===n},...["lcp","inp","cls"].includes(r)?[{title:"Elements",testId:"elements",href:s({infoSelection:"elements"}),selected:"elements"===n}]:[],{title:"Breakdown",testId:"breakdown",href:s({infoSelection:"breakdown"}),selected:"breakdown"===n},{title:"Page Views",testId:"views",href:s({infoSelection:"views"}),selected:"views"===n},{title:"Table",testId:"table",href:s({infoSelection:"table"}),selected:"table"===n},...["ttfb","fcp","lcp","inp","cls"].includes(r)?[{title:"Optimize",testId:"optimize",href:s({infoSelection:"optimize"}),selected:"optimize"===n}]:[]]},r):(0,W.jsxs)(j.U5,{children:["Unknown tab: ",r]})}const kw=new Set(["device"]);function Cw(e){let t=e.project,r=e.tab,n=e.showExportDialog,i=e.onCloseExportDialog,o=e.infoSelection;o=o||"overview",(0,B.useEffect)(()=>{(0,s.iR)()},[r]);const a=Mr({project:t,tab:r});return(0,W.jsxs)("div",{className:"project-rum app-column-layout",children:[(0,W.jsx)(Nb,{rumSnippet:t.rumSnippet}),(0,W.jsxs)(Or.u.Provider,{value:a,children:[t.rumSnippet&&"config"!==r?(0,W.jsx)(Cb,{tab:r,omitStatTypes:"errors"===r?new Set:void 0,externallyControlledFilters:kw}):null,(0,W.jsx)(pr.B,{project:t,noteText:t.name+" RUM data"}),(0,W.jsx)(_w,{project:t,tab:r,infoSelection:o,showExportDialog:n,onCloseExportDialog:i})]})]})}function Aw(e,t,r){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class Nw extends B.Component{constructor(e){super(e),Aw(this,"projectDropdownRef",null),Aw(this,"fetchProject",async()=>{await this.context.fetchProject()}),this.state={showExportDialog:!1,inProgressPageLoadIds:[],showProjectDropdown:!1,showOnboardingWizard:!1},this.updateProject=this.updateProject.bind(this),this.onIntervalSelection=this.onIntervalSelection.bind(this),this.fetchProject=this.fetchProject.bind(this)}componentDidMount(){this.fetchProject();const e=a.A.getState().signupMeta;"string"==typeof e&&window.plausible&&window.plausible("Trial Signup",{props:{meta:e}})}updateProject(e){this.context.patchProjectState(e)}componentDidUpdate(){"rum"!==this.props.selectedTabName||Tw({isCreatingNewPage:this.props.isCreatingNewPage,isInWebsiteScanResult:this.props.isInWebsiteScanResult,selectedTabName:this.props.isCreatingNewPage?"":this.props.selectedTabName||"pages",config:this.props.config,queryParams:(0,c.v)()})||this.props.navigate(A.DS.projectRumUrl(this.props.projectId,"config"))}onIntervalSelection(e){var t,r;const n=Iw({selectedTabName:this.props.selectedTabName,defaultMetricGroup:null!==(t=null===(r=this.context.project)||void 0===r?void 0:r.defaultMetricGroup)&&void 0!==t?t:void 0,navigate:this.props.navigate});n.getProps().pushUrlParams({...n.getValues(),interval:e,alertDate:void 0,budgetConfig:void 0,budgetId:void 0,notificationConfigId:void 0}),"uptime"===this.props.selectedTabName||["rum","dashboards"].includes(n.getValues().view)||localStorage.setItem("trendsInterval",e)}render(){var e,t,r,l;const m=(0,d.u)(),p=this.context.project;if(p&&null!==(e=p.billingCustomer)&&void 0!==e&&e.deletionScheduledFor&&!m.skipScheduledDeletionUI)return(0,W.jsx)(sr,{project:p});let g=this.props,h=g.projectId,f=g.isCreatingNewPage,v=g.isInWebsiteScanResult,b=g.selectedTabName,x=g.navigate;b=f?"":b||"pages";let S=b;(f||v)&&(S="pages"),"builds"===b&&(S="pages"),"quickTests"!==b&&"quickTest"!==b||(S="pages"),"bulkEdit"===b&&(S="pages"),"budgets"===b&&(S="pages"),"audits"===b&&(S="pages"),"dashboards"===b&&(S="custom-dashboards"),"labSettings"!==b&&"metricGroups"!==b||(S="pages");const k=Tw({selectedTabName:f?"":b||"pages",config:this.props.config,isCreatingNewPage:f,isInWebsiteScanResult:v,queryParams:m}),N=a.A.getState().userId,I=!(null==p||null===(t=p.billingCustomer)||void 0===t||!t.allowShareLinks);let D=[(0,ft.Y)({title:null!=p&&p.canEdit?void 0:`Share (requires ${N?"edit permissions":"login"})`,projectId:h,url:location.href,disabled:!p||!I||!p.canEdit,tooltip:p&&!I?"Share URLs are not enabled for your account. Contact support if you'd like to change this.":void 0})];("pages"===b||"crux-trends"===b||"rum"==b)&&D.unshift({title:"Export"+(N?""
1:" (requires login)"),onClick:()=>{(0,o.s)("Export","Open Export Dialog"),this.setState({showExportDialog:!0})},disabled:!N}),"dashboards"===b&&D.unshift({title:"Export PDF",onClick:()=>{window.print()}});const P=Boolean(null===(r=this.context.project)||void 0===r?void 0:r.canEdit),F=Iw({selectedTabName:b,defaultMetricGroup:null!==(l=null==p?void 0:p.defaultMetricGroup)&&void 0!==l?l:void 0,navigate:x}),M=F.getValues(),O="uptime"===b&&"new"!==this.props.config&&!this.props.entityId,L=["pages","rum","dashboards"].includes(b)||O,E=O?"rum":M.view,R=function(e){var t;let r=e.project,n=e.projectId,i=e.selectedSubItem,o=e.selectedTabName;const l=a.A.getState().userId,s=A.DS.projectAddPageLoad(n),u={info:(0,c.v)().info,layout:(0,c.v)().layout,orderBy:(0,c.v)().orderBy,formFactor:(0,c.v)().formFactor,device:Number((0,c.v)().device),search:(0,c.v)().search},m=A.DS.projectAddPageLoad(n,{mode:"scan"});let p=[];const g=(0,_.O$)(A.DS.projectUrl(n,"bulkEdit"),{...(0,d.u)(),bulkEditMode:"basics",layout:"full",view:void 0,mode:void 0});r&&r.pageLoads.some(fb.Q)&&p.push({title:"Recently Added",name:"recentlyAdded",icon:"/public/icons/recently-added.svg",url:A.DS.projectUrl(n,"",{...u,group:"recentlyAdded",orderBy:"-created",formFactor:"all",device:0,search:""})});const h=(0,_.O$)(A.DS.projectUrl(n),{search:(0,c.v)().search,formFactor:(0,
1c.v)().formFactor,info:(0,c.v)().info,interval:(0,oe.Wd)((0,c.v)().interval)?void 0:(0,c.v)().interval});return p.push({title:"Monitoring",name:"dashboard",url:h,icon:(0,W.jsx)(Ss.c,{strokeWidth:1.2})}),p.push({title:"Budgets",name:"budgets",url:A.DS.projectUrl(n,"budgets"),icon:(0,W.jsx)(mb.R,{}),end:!1,indent:!0}),p.push({title:"Audits",name:"audits",url:A.DS.projectUrl(n,"audits"),icon:(0,W.jsx)(ib.C,{strokeWidth:1.2}),end:!1,indent:!0}),p.push({title:"Filmstrip",name:"filmstrip",url:(0,_.O$)(A.DS.projectUrl(n,"pages"),{view:"filmstrip"}),icon:(0,W.jsx)(lb.O,{}),end:!1,indent:!0}),p.push({title:"Test History",name:"builds",url:A.DS.projectUrl(n,"builds"),icon:(0,W.jsx)(ff.O,{strokeWidth:1.2}),indent:!0}),r&&!r.canEdit||!l||p.push({title:"Bulk Edit",name:"bulkEdit",url:g,icon:(0,W.jsx)(Zc.q,{strokeWidth:1.2}),indent:!0}),p.push({title:"Settings",name:"labSettings",url:A.DS.projectUrl(n,"labSettings"),icon:(0,W.jsx)(um.L,{strokeWidth:1.2}),indent:!0}),p.push({title:"Website Scan",name:"scan",url:m,icon:(0,W.jsx)(sb.s,{strokeWidth:1.2})}),p.push({title:"Quick Tests",name:"quickTests",url:A.DS.projectUrl(n,"quickTests"),icon:(0,W.jsx)(pb.X,{strokeWidth:1.2})}),"addPage"===i&&p.push({title:"Add Page",icon:(0,W.jsx)(y.c,{style:{fill:"white"}}),name:"addPage",url:s}),[{title:"Page Speed",name:"pages",url:h,icon:(0,W.jsx)(xs.k,{strokeWidth:1.2}),subItems:p},...location.search.includes("showReports")?[{title:"Reports",name:"reports",url:A.DS.projectSummaryUrl(n),icon:(0,W.jsx)(xs.k,{strokeWidth:1.2})}]:[],{title:"Real User Monitoring",name:"rum",url:A.DS.projectRumUrl(n,null!=r&&null!==(t=r.rumSnippet)&&void 0!==t&&t.installationConfirmedAt?"trends":"config"),icon:(0,W.jsx)(Ro.k,{strokeWidth:1.2}),end:!1,subItems:vb.filter(e=>{var t,n;return null===(t=null===(n=e.condition)||void 0===n?void 0:n.call(e,null==r?void 0:r.rumSnippet))||void 0===t||t}).map(e=>{const t=(0,d.u)();return{...e,url:A.DS.projectRumUrl(n,e.name,{...t,pvTab:e.name===i?t.pvTab:void 0})}})},{title:"CrUX Trends",name:"crux-trends",url:A.DS.projectCruxHistory(n),icon:(0,W.jsx)(vs.K,{strokeWidth:1.2})},{title:"Uptime",name:"uptime",url:A.DS.projectUrl(n,"uptime"),icon:(0,W.jsx)(gm.Z,{strokeWidth:1.2})},{title:"Custom Dashboards",name:"custom-dashboards",url:A.DS.projectUrl(n,"dashboards"),icon:(0,W.jsx)(js.C,{strokeWidth:1.2})},{title:"Integrations",name:"integrations",url:A.DS.projectUrl(n,"integrations"),icon:(0,W.jsx)(cb.P,{strokeWidth:1.2}),end:!1},...l?[{title:"Account",name:"account",url:"/account",icon:(0,W.jsx)(nb.J,{strokeWidth:1.2})}]:[],..."team"===o||null!=r&&r.enableLegacyCollaborators?[{title:"Team",name:"team",url:A.DS.projectUrl(n,"team"),icon:(0,W.jsx)(hb.P,{strokeWidth:1.2})}]:[]]}({project:p,projectId:h,selectedSubItem:k,selectedTabName:b}),U=R.find(e=>(e.name||"pages")===S);if(U){var B;const e=p?p.name:(null===(B=a.A.getState().userProjects.find(e=>e.id===h))||void 0===B?void 0:B.name)||"Project";(0,s.wE)(e+" – "+U.title)}let V,H;const G=(0,W.jsx)(n.j,{onSelect:e=>{this.props.navigate(e.url)},selectedTabName:S,tabs:R,extraContent:null,selectedSubItem:k});if("pages"!==b&&""!==b&&"bulkEdit"!==b||f)if(p)if(f)V=(0,W.jsx)(ht.H,{projectId:h,navigate:this.props.navigate,selectedTabName:"new",onSubmit:this.fetchProject});else{if("metricGroups"===b&&!this.props.entityId)return this.props.navigate(A.DS.projectUrl(h,"labSettings"),{replace:!0}),null;if("labSettings"===b)V=(0,W.jsx)(ud,{projectId:h,userCanEditProject:P,onMetricGroupDelete:async e=>{await u.FH.metricGroup.delete(e),this.fetchProject()}});else{if("edit"===b)return this.props.navigate(A.DS.projectUrl(h),{replace:!0}),null;if("_unused_edit"===b)V=(0,W.jsx)(wt,{projectId:h,navigate:this.props.navigate,onSubmit:this.fetchProject});else if("integrations"===b)V=this.props.entityId?(0,W.jsx)(ar,{notificationConfigId:this.props.entityId,project:p}):(0,W.jsx)(Bm,{projectId:h});else if("builds"===b){const e=new i.J({page:{defaultValue:""},branch:{defaultValue:""},trigger:{defaultValue:""}},this.props.navigate);V=(0,W.jsx)(Zm.nq,{projectId:h,...e.getProps(),project:p})}else if("quickTests"===b)V=(0,W.jsx)(sp,{projectId:h});else if("uptime"===b)V="new"===this.props.config?(0,W.jsx)(kp,{projectId:h}
1):this.props.entityId?(0,W.jsx)(Sp,{projectId:h,monitorId:Number(this.props.entityId)}):this.props.config?(0,W.jsx)(Zp,{projectId:h,monitorId:Number(this.props.config)}):(0,W.jsx)(Op,{projectId:h});else if("budgets"===b)V=(0,W.jsx)(Qm,{project:this.context.project});else if("audits"===b)V=(0,W.jsx)(zd,{project:this.context.project});else if("team"===b)V=(0,W.jsx)(Nv,{projectId:h});else{if("dashboard"===b)return(0,W.jsx)($.C5,{to:A.DS.projectUrl(h,"dashboards"),replace:!0});V="metricGroups"===b&&P?(0,W.jsx)(Yc,{projectId:this.props.projectId,metricGroupId:this.props.entityId,onSubmit:async e=>{await u.FH.metricGroup.update(e),this.fetchProject(),this.props.navigate(A.DS.projectUrl(this.props.projectId,"labSettings"))}}):"rum"===b?(0,W.jsx)(W.Fragment,{children:(0,W.jsx)(Cw,{project:p,tab:this.props.config||"config",infoSelection:this.props.entityId,showExportDialog:this.state.showExportDialog,onCloseExportDialog:()=>this.setState({showExportDialog:!1})})}):"scan"===b?(0,W.jsx)(te,{project:p,scanId:this.props.config}):"dashboards"===b?this.props.config?(0,W.jsx)(Ec,{project:p,children:(0,W.jsx)(Bc,{projectId:h,navigate:this.props.navigate,dashboardId:Number(this.props.config),interval:M.interval})}):(0,W.jsx)(Gc,{projectId:h,project:p,navigate:this.props.navigate}):"crux-trends"===b?(0,W.jsx)(wh,{projectId:h,onCloseExportDialog:()=>this.setState({showExportDialog:!1}),showExportDialog:this.state.showExportDialog}):"summary"===b?(0,W.jsx)(xv,{projectId:h,project:p}):(0,W.jsx)("div",{children:"Tab not found"})}}}else V=(0,W.jsx)(w.y,{});else V=(0,W.jsx)(pv.$,{children:(0,W.jsx)(yd,{children:(0,W.jsx)(mv,{projectId:h,project:p,showProjectLoadingIndicator:this.context.loading,onCloseExportDialog:()=>this.setState({showExportDialog:!1}),updateProject:this.context.patchProjectState,showExportDialog:this.state.showExportDialog,queryParams:m,navigate:this.props.navigate,bulkEdit:"bulkEdit"===b,...F.getProps(),inProgressPageLoadIds:this.state.inProgressPageLoadIds,filterId:(0,c.v)().filterId,onTriggerTests:null!=p&&p.canEdit?()=>{var e;return u.FH.triggerProject(h,(0,C.nF)((null==p?void 0:p.pageLoads)||[],hn((0,d.u)(),null===(e=iv("lab",null==p?void 0:p.savedFilters,Number(m.filterId)).activeFilter)||void 0===e?void 0:e.filters)).map(e=>e.id))}:void 0,reloadProject:()=>(u.FH.getLatestPerfSummariesForProject(h),this.fetchProject()),updateInProgressPageLoadIds:e=>{this.setState({inProgressPageLoadIds:(0,T.uniq)(e.map(e=>e.pageLoadId))})}})})});let z=p&&this.state.showOnboardingWizard?(0,W.jsx)(pt.P,{project:p,onClose:()=>this.setState({showOnboardingWizard:!1}),onActionClick:()=>this.setState({showOnboardingWizard:!1})}):null;return L&&!Ze(M.interval,E)&&(V=(0,W.jsxs)("div",{className:"alert alert-warning mt-3",children:['Invalid interval "',M.interval,'". Select a date range from the date selector above.']})),V=(0,W.jsxs)(W.Fragment,{children:[z,V]}),p&&null!==this.state.showOnboardingWizard&&(H=(0,W.jsx)(gt.T,{project:p,onClick:()=>this.setState({showOnboardingWizard:!this.state.showOnboardingWizard})})),(0,W.jsx)(j.K7,{header:(0,W.jsx)(St.V,{breadcrumbs:[...this.props.breadcrumbPrefix||[],...rb({isCreatingNewPage:!!f,isInWebsiteScanResult:!!v,project:p,projectId:h,selectedSubItem:k,selectedTabName:b,tab:U,navigate:x,useProjectName:!!this.props.breadcrumbPrefix,uptimeMonitorId:"uptime"===b&&this.props.config&&"new"!==this.props.config&&!this.props.entityId?Number(this.props.config):void 0,isUptimeListView:"uptime"===b&&!this.props.config&&!this.props.entityId,isUptimeNewView:"uptime"===b&&"new"===this.props.config})],actions:D,extraContentHeaderRight:L?(0,W.jsxs)("div",{className:"d-flex align-items-center column-gap",style:{columnGap:"0.25rem"},children:["dashboards"===b||O?null:(0,W.jsx)(Le,{interval:M.interval,onSelectInterval:this.onIntervalSelection,view:M.view}),(0,W.jsx)(dt,{view:E,interval:M.interval,onSelectInterval:this.onIntervalSelection})]}):null}),actions:D,noMainPanePadding:!!(0,c.v)().pages||"pages"===b||"builds"===b||"bulkEdit"===b||"crux-trends"===b,contentInBoxes:!0,mainPane:V,sidePane:G,sidebarBottomContent:H})}}function Iw(e){let t=e.selectedTabName,r=e.defaultMetricGroup,n=e.navigate;return new i.J({formFactor:{defaultValue:"all"},group:{defaultValue:""},view:{defaultValue:"rum"===t?"rum":"dashboards"===t?"dashboards":"overview"},info:{defaultValue:r?"":"performance"},orderBy:{defaultValue:""},bulkEditMode:{defaultValue:""},interval:{defaultValue:"rum"===t||"dashboards"===t?"1mo":"uptime"===t?"7d":"day"},layout:{defaultValue:"compact"},nNewPages:{defaultValue:""},currentPage:{defaultValue:"1"}},n)}function Tw(e){let t=e.selectedTabName,r=e.config,n=e.isCreatingNewPage,i=e.isInWebsiteScanResult,o=e.queryParams;if(i||"scan"===o.mode)return"scan";if(n)return"addPage";if("builds"===t)return o.group||"builds";if("quickTests"===t||"quickTest"===t)return"quickTests";if("bulkEdit"===t)return"bulkEdit";if("metricGroups"===t||"labSettings"===t)return"labSettings";if("recentlyAdded"===o.group)return"recentlyAdded";if("crux-trends"===t)return"crux-trends";if("dashboards"===t||"pages"===t)return"filmstrip"===o.view?"filmstrip":o.bulkEditMode?"bulkEdit":"dashboards"===t?"custom-dashboards":"dashboard";if("edit"===t)return r||"summary";if("rum"===t)return vb.map(e=>e.name).filter(e=>"more"!==e).includes(r)?r:"more";if(""===t||"pages"===t||"dashboards"===t)return"dashboard";if("integrations"===t)return"integrations";if("builds"===t){if("experiments"===o.branch)return"experiments";if("api"===o.trigger)return"apiBuilds"}return"budgets"===t||"audits"===t?t:""}Aw(Nw,"contextType",l.v)},15817(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());
1a.push([e.id,".small-page-list-item{display:flex;word-break:break-word}.small-page-list-item__details{font-size:12px;color:#333;font-weight:bold}.dark-mode .small-page-list-item__details{color:rgba(255,255,255,.8)}.small-page-list-item__delete{float:right;background:rgba(0,0,0,0);border:none;cursor:pointer;border-radius:90px;width:20px;height:20px;padding:0;line-height:22px;color:#000}.dark-mode .small-page-list-item__delete{color:rgba(255,255,255,.8)}.small-page-list-item__delete:hover{background:#b22222;color:#fff}.small-project-pages__page{border:1px solid #eee;margin-bottom:5px;padding:5px;cursor:pointer;border-radius:4px}.dark-mode .small-project-pages__page{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.small-project-pages__page:hover{background:#eff6ff;color:#212529}.small-project-pages__page:hover .small-page-list-item__details{color:#212529}",""]);const l=a;r.d(t,["A",0,l])},52792(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".filter-button{appearance:none;border:none;background:rgba(0,0,0,0);color:#7d8b97;font-weight:bold;font-size:.75rem;text-transform:uppercase;display:flex;align-items:center;height:100%;word-wrap:nowrap}.filter-button:hover{cursor:pointer;text-decoration:underline}.filter-button:disabled{opacity:.6}",""]);const l=a;r.d(t,["A",0,l])},58956(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".filter-list{display:flex;flex-direction:row;flex-wrap:wrap;row-gap:2px;column-gap:.25rem;list-style:none;padding:0;margin:0}.filter-list__item{display:flex;overflow:hidden;align-items:center;background:#fefefe;border-radius:4px;font-size:12px;line-height:12px;border:1px solid #e3e3e3}.dark-mode .filter-list__item{color:#e5e5e5;background:#1b313c;border-color:#2b363c}.filter-list__item--clickable{cursor:pointer}.filter-list__item--editing,.filter-list__item:hover{background:#eff6ff}.dark-mode .filter-list__item--editing,.dark-mode .filter-list__item:hover{background:#1b313c;color:#e5e5e5}.filter-list__edit-label{display:flex;align-items:center;border:0;background:rgba(0,0,0,0);height:100%;cursor:pointer;gap:.25rem}.dark-mode .filter-list__edit-label{color:#e5e5e5}.filter-list__remove-button{border:none;background:rgba(0,0,0,0);width:10px;margin-right:6px;height:22px;border-top-right-radius:4px;border-bottom-right-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.filter-list__remove-button:hover{color:#e45858}.filter-list__value{font-weight:500}.filter-list__values{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.125rem;vertical-align:middle}.filter-list__icon{height:8px;width:8px}",""]);const l=a;r.d(t,["A",0,l])},61410(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".filter-popover{position:absolute;width:525px}.filter-popover__row{display:flex;justify-content:stretch;gap:8px;margin-bottom:0}.filter-popover__field{margin-bottom:8px}.filter-popover__field--value{flex:2;min-width:0}.filter-popover__field--type{flex:1;min-width:0}.filter-popover__label{font-size:11px;font-weight:600;text-transform:uppercase;color:#7e8c97;margin-bottom:4px;margin-top:0}.filter-popover-page-option__details{display:flex;align-items:center;gap:4px;margin-top:2px;font-size:.8em;color:var(--coldGrey1)}",""]);const l=a;r.d(t,["A",0,l])},17674(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".filter-value-range-inputs input{width:auto !important;flex-grow:1;text-align:right}.filter-value-range-inputs__unit{font-size:13px;color:#7d8b97}",""]);const l=a;r.d(t,["A",0,l])},69011(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".option-button{border-bottom-style:solid;border-bottom-width:2px;border-top-style:none;border-left-style:none;border-right-style:none;flex:0 0 50%;cursor:pointer}",""]);const l=a;r.d(t,["A",0,l])},20134(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".saved-filters-dropdown__option{appearance:none;border:none;background:rgba(0,0,0,0);display:block;width:100%;text-align:left;font-size:.875rem;padding:.5rem .5rem}.saved-filters-dropdown__option:not(:last-child){border-bottom:1px solid #f5f5f5}.dark-mode .saved-filters-dropdown__option:not(:last-child){border-bottom:1px solid rgba(255,255,255,.1)}.dark-mode .saved-filters-dropdown__option{color:#fff}.saved-filters-dropdown__option--active{font-weight:bold}.saved-filters-dropdown__option:hover{cursor:pointer;background:#f7f7f7}.dark-mode .saved-filters-dropdown__option:hover{background:rgba(255,255,255,.1)}.saved-filters-dropdown__option:first-child{margin-top:.25rem}.saved-filters-dropdown__option:last-child{margin-bottom:.25rem}.saved-filters-dropdown__divider{margin-top:.25rem;margin-bottom:.5rem}.saved-filters-dropdown__search-input{width:100%;padding:4px 8px !important;margin-left:0px !important;border:1px solid #ccc;border-radius:4px}.saved-filters-dropdown__search-input:focus{outline:none}.dark-mode .saved-filters-dropdown__search-input{background-color:#393f54;color:#fff}.saved-filters-dropdown__clear-button{background:rgba(0,0,0,0);border:1px solid #ddd;padding-top:4px;padding-bottom:4px;border-radius:4px;cursor:pointer}.dark-mode .saved-filters-dropdown__clear-button{border-color:#fff;color:#fff}",""]);const l=a;r.d(t,["A",0,l])},73315(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());
1a.push([e.id,".compare-toggle-label{color:rgba(255,255,255,.8)}.compare-toggle-label:hover{color:#fff}",""]);const l=a;r.d(t,["A",0,l])},66814(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".notification-config .checkbox-label{color:inherit;font-size:16px;margin:4px 0}.notification-config .checkbox-label .checkbox{margin-right:4px}.notification-config .notification-config__section+.notification-config__section{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.dark-mode .notification-config .notification-config__section+.notification-config__section{border-top-color:rgba(255,255,255,.12)}.notification-config .notification-config__section h3.h3-simple-bold{margin-top:0}.notification-config .notification-config__checkboxes{display:flex;flex-wrap:wrap;column-gap:24px;row-gap:4px;max-width:1000px}.notification-config .notification-config__checkboxes>.checkbox-label{min-width:170px}.notification-config .notification-config__checkboxes>:last-child{flex-grow:1}",""]);const l=a;r.d(t,["A",0,l])},66856(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".rum-notification-config-form__label{margin-top:0px}",""]);const l=a;r.d(t,["A",0,l])},10572(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".crux-rating-chart-header__container{display:flex;align-items:center;width:100%;font-size:20px;font-weight:300;padding:15px;line-height:1em}.crux-rating-chart-header__rating-indicator{width:12px;height:12px;border-radius:4px;margin-right:6px}.crux-rating-chart-header__rating-indicator__pass{background-color:var(--webVitalsPass)}.crux-rating-chart-header__rating-indicator__warn{background-color:var(--webVitalsWarn)}.crux-rating-chart-header__rating-indicator__fail{background-color:var(--webVitalsFail)}.crux-rating-chart-header__rating-indicator__unknown{background-color:var(--webVitalsUnknown)}.crux-rating-chart-header__trend-icon-better{margin-left:.5rem;color:var(--trendImproving)}.crux-rating-chart-header__trend-icon-worse{margin-left:.5rem;color:var(--trendWorsening)}.crux-rating-chart-header__trend-icon-neutral{margin-left:.5rem;color:var(--trendUnchanged);width:12px;text-align:center}.crux-rating-chart-header__rating-value-placeholder{opacity:0}",""]);const l=a;r.d(t,["A",0,l])},62164(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".pagination-container{color:#4f5b63;display:flex;align-items:center;gap:1rem}.dark-mode .pagination-container{color:#c7c7c7}.current-pagination-details{font-size:.875rem}.pagination-buttons{display:flex;align-items:center;gap:.5rem}.pagination-button{border:1px solid rgba(79,91,99,.25);background:#fff;display:flex;align-items:center;color:#4f5b63;line-height:1}.pagination-button:disabled{color:#787878;background:rgba(120,120,120,.1);cursor:not-allowed;opacity:.5}.pagination-button:hover:not(:disabled){color:#333}.dark-mode .pagination-button{color:#c7c7c7;background:rgba(79,91,99,.3)}.dark-mode .pagination-button:disabled{color:#787878;background:rgba(120,120,120,.1);cursor:not-allowed}.dark-mode .pagination-button:hover:not(:disabled){color:#f7f7f7}",""]);const l=a;r.d(t,["A",0,l])},91096(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".dashboard-item-no-content-available{height:100%}.dashboard-item-no-content-available .no-data{height:100%;font-size:.875rem;display:flex;align-items:center;justify-content:center}",""]);const l=a;r.d(t,["A",0,l])},43534(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".custom-dashboards .dashboards-list .empty-state{text-align:center;padding:48px 24px;color:#666}.custom-dashboards .dashboards-list .empty-state p{font-size:16px;margin:0}.custom-dashboards .dashboards-list .dashboards-table{display:flex;flex-direction:column;gap:0;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden}.dark-mode .custom-dashboards .dashboards-list .dashboards-table{border-color:#2b363c}.custom-dashboards .dashboards-list .dashboard-row{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#fff;border-bottom:1px solid #e8e8e8;transition:background-color .2s;cursor:pointer}.dark-mode .custom-dashboards .dashboards-list .dashboard-row{background:#171923;border-color:#2b363c}.custom-dashboards .dashboards-list .dashboard-row:last-child{border-bottom:none}.custom-dashboards .dashboards-list .dashboard-row:hover{background:rgba(0,0,0,.02)}.dark-mode .custom-dashboards .dashboards-list .dashboard-row:hover{background:rgba(255,255,255,.05)}.custom-dashboards .dashboards-list .dashboard-row .dashboard-row-content{flex:1;min-width:0}.custom-dashboards .dashboards-list .dashboard-row .dashboard-row-content .dashboard-name{font-size:16px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-dashboards .dashboards-list .dashboard-row .dashboard-row-content .dashboard-meta-row{display:flex;gap:16px;flex-wrap:wrap}.custom-dashboards .dashboards-list .dashboard-row .dashboard-row-content .dashboard-meta-row .dashboard-meta{font-size:13px;color:#666}.dark-mode .custom-dashboards .dashboards-list .dashboard-row .dashboard-row-content .dashboard-meta-row .dashboard-meta{color:#999}.custom-dashboards .dashboards-list .dashboard-row .dashboard-row-actions{display:flex;align-items:center;gap:8px;margin-left:16px}.custom-dashboard-view .dashboard-content pre{background:#f5f5f5;padding:16px;border-radius:4px;overflow-x:auto}.dashboard-add-item-button{width:100%;min-height:120px;margin-top:16px;border:2px dashed #7d8b97;color:#7d8b97;background:rgba(0,0,0,.1);border-radius:8px;
1cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.dashboard-add-item-button:hover{background:rgba(0,78,255,.15);color:#007bff;border-color:#007bff}.dashboard-add-item-button svg{color:inherit}.dashboard-add-item-button span{font-size:14px;font-weight:500;color:inherit}.custom-dashboards-error{padding:24px;text-align:center}.custom-dashboards-error p{margin-bottom:16px}.dashboard-grid{display:grid;gap:16px;position:relative;min-height:100px}.dashboard-grid .dashboard-grid-item{grid-column:var(--item-column);grid-row:var(--item-row);position:relative;overflow:hidden;display:flex;flex-direction:column}.dashboard-grid .dashboard-grid-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}.dashboard-grid .dashboard-grid-item.is-dragging{opacity:.3;cursor:move;z-index:1000}.dashboard-grid .dashboard-grid-item.is-editing{cursor:move}.dashboard-grid .dashboard-grid-item.is-editing:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);border-color:#007bff}.dashboard-grid .dashboard-grid-item-table{padding:0}.dashboard-grid .dashboard-item-content{flex:1;min-height:0;display:flex;flex-direction:column}.dashboard-grid .dashboard-item-content.dashboard-item-content-metric{align-items:center;justify-content:center}@media(max-width: 1023px){.dashboard-grid{grid-template-columns:1fr !important}.dashboard-grid .dashboard-grid-item{grid-column:1/-1;grid-row:auto/span var(--item-row-span)}}.dashboard-item-edit-actions{position:absolute;top:8px;right:8px;height:24px;cursor:move;display:flex;align-items:center;justify-content:center;z-index:10;gap:.25rem}.dashboard-item-resize-handle{position:absolute;background:rgba(0,0,0,0);z-index:5}.dashboard-item-resize-handle:hover,.dashboard-item-resize-handle.is-active{background:rgba(0,123,255,.2)}.dashboard-item-resize-handle.resize-top{top:0;left:0;right:0;height:8px;cursor:ns-resize;border-radius:4px 4px 0 0}.dashboard-item-resize-handle.resize-right{top:0;right:0;bottom:0;width:8px;cursor:ew-resize;border-radius:0 4px 4px 0}.dashboard-item-resize-handle.resize-bottom{bottom:0;left:0;right:0;height:8px;cursor:ns-resize;border-radius:0 0 4px 4px}.dashboard-item-resize-handle.resize-left{top:0;left:0;bottom:0;width:8px;cursor:ew-resize;border-radius:4px 0 0 4px}.dashboard-item-resize-handle.resize-corner{width:12px;height:12px;z-index:6}.dashboard-item-resize-handle.resize-top-left{top:0;left:0;cursor:nwse-resize;border-radius:4px 0 0 0}.dashboard-item-resize-handle.resize-top-right{top:0;right:0;cursor:nesw-resize;border-radius:0 4px 0 0}.dashboard-item-resize-handle.resize-bottom-left{bottom:0;left:0;cursor:nesw-resize;border-radius:0 0 0 4px}.dashboard-item-resize-handle.resize-bottom-right{bottom:0;right:0;cursor:nwse-resize;border-radius:0 0 4px 0}.dashboard-item-resize-icon{opacity:.6;transition:opacity .2s ease;position:absolute;bottom:1px;right:1px;cursor:nwse-resize;z-index:10;pointer-events:auto}.dashboard-item-resize-icon:hover{opacity:1}.dashboard-item-resize-icon svg{display:block}.dashboard-grid-drop-placeholder-container{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0;opacity:0;transition:opacity .2s ease}.dashboard-grid-drop-placeholder-container.is-dragging{opacity:1}.dashboard-grid-drop-placeholder-container .dashboard-grid-drop-placeholder-inner{position:absolute;border:2px dashed #007bff;background:rgba(0,123,255,.1);border-radius:8px;transition:left .15s ease,top .15s ease,width .15s ease,height .15s ease,opacity .15s ease}.dashboard-grid-add-hover-placeholder-container{cursor:pointer;min-height:100px;opacity:0;transition:opacity .2s ease}.dashboard-grid-add-hover-placeholder-container:hover{opacity:1}.dashboard-grid-add-hover-placeholder-container .dashboard-grid-add-hover-placeholder-inner{width:100%;height:100%;border:2px dashed #007bff;background:rgba(0,123,255,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;pointer-events:none}.dashboard-grid-add-hover-placeholder-container .dashboard-grid-add-hover-placeholder-inner .add-placeholder-content{display:flex;flex-direction:column;align-items:center;gap:8px;color:#007bff}.dashboard-grid-add-hover-placeholder-container .dashboard-grid-add-hover-placeholder-inner .add-placeholder-content svg{color:inherit}.dashboard-grid-add-hover-placeholder-container .dashboard-grid-add-hover-placeholder-inner .add-placeholder-content span{font-size:14px;font-weight:500;color:inherit}.dashboard-item-metric{width:100%;height:100%;flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.dashboard-item-metric .metric-label{display:none}.dashboard-item-metric .metric-value{font-size:32px;font-weight:700}.dashboard-item-metric .metric-change{font-size:14px;font-weight:600}.dashboard-item-metric .metric-change.worse{color:#df4545}.dashboard-item-metric .metric-change.neutral .dashboard-item-metric .metric-change .unknown{color:#7d8b97}.dashboard-item-metric .metric-change.bettter{color:#29a938}.dashboard-item-chart{width:100%;height:calc(100% - 50px);display:flex;flex-direction:column}.dashboard-item-chart .chart-container{flex:1;min-height:0;position:relative}.dashboard-item-chart .chart-container>div{height:100%}.dashboard-item-table{width:100%;height:100%;flex:1 1 100%;display:flex;flex-direction:column;font-size:12px;overflow:hidden}.dashboard-item-table .table-container{flex:1;min-height:0;overflow:auto}.dashboard-item-text{width:100%;height:100%;display:flex;flex-direction:column;overflow:auto;padding:1rem}.dashboard-item-text .text-content{flex:1;line-height:1rem;white-space:pre-wrap;word-wrap:break-word}",""]);const l=a;r.d(t,["A",0,l])},7883(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());
1a.push([e.id,":root{--brightBlue: #007bff;--blue1: #044262;--blue2: #0a76a7;--blue3: #3544b1;--linkBlue: #2e67a3;--hoverBlue: #eff6ff;--hoverBlueDarkMode: #0a76a7;--lightBlue1: #52a8d5;--lightBlue2: #87b7d0;--teal1: #147278;--green1: hsl(86, 75%, 32%);--green2: hsl(86, 75%, 41%);--green2-01: hsla(86, 75%, 41%, 0.1);--green3: #1a8755;--purple1: hsl(279, 54%, 45%);--purple2: hsl(270, 47%, 60%);--yellow1: hsl(48, 57%, 33%);--yellow2: hsl(48, 69%, 55%);--yellow2-01: hsla(48, 69%, 55%, 0.1);--orange1: hsl(33, 66%, 44%);--grey1: hsl(0, 0%, 9%);--grey2: hsl(0, 0%, 33.33%);--grey3: hsl(0, 0%, 47%);--grey4: hsl(0, 0%, 78%);--grey5: hsl(0, 0%, 91%);--grey6: hsl(0, 0%, 97%);--grey7: #fbfbfb;--grey8: #e3e3e3;--coldGrey1: hsl(206, 11%, 54%);--coldGrey2: hsl(206, 11%, 35%);--white1: #fff;--red1: hsl(0, 72%, 62%);--red2: hsl(0, 57%, 62%);--red3: hsl(0, 42%, 63%);--ratingColorPass: #018642;--ratingColorWarn: #d04900;--ratingColorFail: #e01d10;--ratingColorUnknown: #333;--blueGrey: #ecf2f5;--darkBg1: #171923;--darkBg2: #1e212e;--darkBg3: #112;--webVitalsHighContrastPass: #2e7a55;--webVitalsHighContrastWarn: #e8dd42;--webVitalsHighContrastFail: #f39bb1;--webVitalsHighContrastUnknown: #aaa;--webVitalsPass: #0dce6b;--webVitalsWarn: #ffa400;--webVitalsFail: #ff4e42;--webVitalsUnknown: #aaa;--trendImproving: #29a938;--trendWorsening: #df4545;--trendUnchanged: #7d8b97;--text: #333;--formPlaceholder: hsl(206, 11%, 54%);--selectIndicator: hsl(206, 11%, 54%)}html.dark-mode{--grey1: rgba(255, 255, 255, 0.9);--grey2: rgba(255, 255, 255, 0.8);--grey3: rgba(255, 255, 255, 0.7);--grey4: rgba(255, 255, 255, 0.2);--grey5: rgba(255, 255, 255, 0.15);--grey6: rgba(255, 255, 255, 0.1);--grey7: #112129;--coldGrey1: rgba(255, 255, 255, 0.8);--coldGrey2: rgba(255, 255, 255, 0.6);--blue1: #fff;--blue2: #707ff1;--white1: #171923}.color-brightBlue{color:var(--brightBlue) !important}.bg-brightBlue{background-color:var(--brightBlue) !important}.hover-color-brightBlue:hover{color:var(--brightBlue) !important}.hover-bg-brightBlue:hover{background-color:var(--brightBlue) !important}.border-color-brightBlue{border-color:var(--brightBlue) !important}.color-blue1{color:var(--blue1) !important}.bg-blue1{background-color:var(--blue1) !important}.hover-color-blue1:hover{color:var(--blue1) !important}.hover-bg-blue1:hover{background-color:var(--blue1) !important}.border-color-blue1{border-color:var(--blue1) !important}.color-blue2{color:var(--blue2) !important}.bg-blue2{background-color:var(--blue2) !important}.hover-color-blue2:hover{color:var(--blue2) !important}.hover-bg-blue2:hover{background-color:var(--blue2) !important}.border-color-blue2{border-color:var(--blue2) !important}.color-blue3{color:var(--blue3) !important}.bg-blue3{background-color:var(--blue3) !important}.hover-color-blue3:hover{color:var(--blue3) !important}.hover-bg-blue3:hover{background-color:var(--blue3) !important}.border-color-blue3{border-color:var(--blue3) !important}.color-linkBlue{color:var(--linkBlue) !important}.bg-linkBlue{background-color:var(--linkBlue) !important}.hover-color-linkBlue:hover{color:var(--linkBlue) !important}.hover-bg-linkBlue:hover{background-color:var(--linkBlue) !important}.border-color-linkBlue{border-color:var(--linkBlue) !important}.color-hoverBlue{color:var(--hoverBlue) !important}.bg-hoverBlue{background-color:var(--hoverBlue) !important}.hover-color-hoverBlue:hover{color:var(--hoverBlue) !important}.hover-bg-hoverBlue:hover{background-color:var(--hoverBlue) !important}.border-color-hoverBlue{border-color:var(--hoverBlue) !important}.color-hoverBlueDarkMode{color:var(--hoverBlueDarkMode) !important}.bg-hoverBlueDarkMode{background-color:var(--hoverBlueDarkMode) !important}.hover-color-hoverBlueDarkMode:hover{color:var(--hoverBlueDarkMode) !important}.hover-bg-hoverBlueDarkMode:hover{background-color:var(--hoverBlueDarkMode) !important}.border-color-hoverBlueDarkMode{border-color:var(--hoverBlueDarkMode) !important}.color-lightBlue1{color:var(--lightBlue1) !important}.bg-lightBlue1{background-color:var(--lightBlue1) !important}.hover-color-lightBlue1:hover{color:var(--lightBlue1) !important}.hover-bg-lightBlue1:hover{background-color:var(--lightBlue1) !important}.border-color-lightBlue1{border-color:var(--lightBlue1) !important}.color-lightBlue2{color:var(--lightBlue2) !important}.bg-lightBlue2{background-color:var(--lightBlue2) !important}.hover-color-lightBlue2:hover{color:var(--lightBlue2) !important}.hover-bg-lightBlue2:hover{background-color:var(--lightBlue2) !important}.border-color-lightBlue2{border-color:var(--lightBlue2) !important}.color-teal1{color:var(--teal1) !important}.bg-teal1{background-color:var(--teal1) !important}.hover-color-teal1:hover{color:var(--teal1) !important}.hover-bg-teal1:hover{background-color:var(--teal1) !important}.border-color-teal1{border-color:var(--teal1) !important}.color-green1{color:var(--green1) !important}.bg-green1{background-color:var(--green1) !important}.hover-color-green1:hover{color:var(--green1) !important}.hover-bg-green1:hover{background-color:var(--green1) !important}.border-color-green1{border-color:var(--green1) !important}.color-green2{color:var(--green2) !important}.bg-green2{background-color:var(--green2) !important}.hover-color-green2:hover{color:var(--green2) !important}.hover-bg-green2:hover{background-color:var(--green2) !important}.border-color-green2{border-color:var(--green2) !important}.color-green2-01{color:var(--green2-01) !important}.bg-green2-01{background-color:var(--green2-01) !important}.hover-color-green2-01:hover{color:var(--green2-01) !important}.hover-bg-green2-01:hover{background-color:var(--green2-01) !important}.border-color-green2-01{border-color:var(--green2-01) !important}.color-green3{color:var(--green3) !important}.bg-green3{background-color:var(--green3) !important}.hover-color-green3:hover{color:var(--green3) !important}.hover-bg-green3:hover{background-color:var(--green3) !important}.border-color-green3{border-color:var(--green3) !important}.color-purple1{color:var(--purple1) !important}.bg-purple1{background-color:var(--purple1) !important}.hover-color-purple1:hover{color:var(--purple1) !important}.hover-bg-purple1:hover{background-color:var(--purple1) !important}.border-color-purple1{border-color:var(--purple1) !important}.color-purple2{color:var(--purple2) !important}.bg-purple2{background-color:var(--purple2) !important}.hover-color-purple2:hover{color:var(--purple2) !important}.hover-bg-purple2:hover{background-color:var(--purple2) !important}.border-color-purple2{border-color:var(--purple2) !important}.color-yellow1{color:var(--yellow1) !important}.bg-yellow1{background-color:var(--yellow1) !important}.hover-color-yellow1:hover{color:var(--yellow1) !important}.hover-bg-yellow1:hover{background-color:var(--yellow1) !important}.border-color-yellow1{border-color:var(--yellow1) !important}.color-yellow2{color:var(--yellow2) !important}.bg-yellow2{background-color:var(--yellow2) !important}.hover-color-yellow2:hover{color:var(--yellow2) !important}.hover-bg-yellow2:hover{background-color:var(--yellow2) !important}.border-color-yellow2{border-color:var(--yellow2) !important}.color-yellow2-01{color:var(--yellow2-01) !important}.bg-yellow2-01{background-color:var(--yellow2-01) !important}.hover-color-yellow2-01:hover{color:var(--yellow2-01) !important}.hover-bg-yellow2-01:hover{background-color:var(--yellow2-01) !important}.border-color-yellow2-01{border-color:var(--yellow2-01) !important}.color-orange1{color:var(--orange1) !important}.bg-orange1{background-color:var(--orange1) !important}.hover-color-orange1:hover{color:var(--orange1) !important}.hover-bg-orange1:hover{background-color:var(--orange1) !important}.border-color-orange1{border-color:var(--orange1) !important}.color-grey1{color:var(--grey1) !important}.bg-grey1{background-color:var(--grey1) !important}.hover-color-grey1:hover{color:var(--grey1) !important}.hover-bg-grey1:hover{background-color:var(--grey1) !important}.border-color-grey1{border-color:var(--grey1) !important}.color-grey2{color:var(--grey2) !important}.bg-grey2{background-color:var(--grey2) !important}.hover-color-grey2:hover{color:var(--grey2) !important}.hover-bg-grey2:hover{background-color:var(--grey2) !important}.border-color-grey2{border-color:var(--grey2) !important}.color-grey3{color:var(--grey3) !important}.bg-grey3{background-color:var(--grey3) !important}.hover-color-grey3:hover{color:var(--grey3) !important}.hover-bg-grey3:hover{background-color:var(--grey3) !important}.border-color-grey3{border-color:var(--grey3) !important}.color-grey4{color:var(--grey4) !important}.bg-grey4{background-color:var(--grey4) !important}.hover-color-grey4:hover{color:var(--grey4) !important}.hover-bg-grey4:hover{background-color:var(--grey4) !important}.border-color-grey4{border-color:var(--grey4) !important}.color-grey5{color:var(--grey5) !important}.bg-grey5{background-color:var(--grey5) !important}.hover-color-grey5:hover{color:var(--grey5) !important}.hover-bg-grey5:hover{background-color:var(--grey5) !important}.border-color-grey5{border-color:var(--grey5) !important}.color-grey6{color:var(--grey6) !important}.bg-grey6{background-color:var(--grey6) !important}.hover-color-grey6:hover{color:var(--grey6) !important}.hover-bg-grey6:hover{background-color:var(--grey6) !important}.border-color-grey6{border-color:var(--grey6) !important}.color-grey7{color:var(--grey7) !important}.bg-grey7{background-color:var(--grey7) !important}.hover-color-grey7:hover{color:var(--grey7) !important}.hover-bg-grey7:hover{background-color:var(--grey7) !important}.border-color-grey7{border-color:var(--grey7) !important}.color-grey8{color:var(--grey8) !important}.bg-grey8{background-color:var(--grey8) !important}.hover-color-grey8:hover{color:var(--grey8) !important}.hover-bg-grey8:hover{background-color:var(--grey8) !important}.border-color-grey8{border-color:var(--grey8) !important}.color-coldGrey1{color:var(--coldGrey1) !important}.bg-coldGrey1{background-color:var(--coldGrey1) !important}.hover-color-coldGrey1:hover{color:var(--coldGrey1) !important}.hover-bg-coldGrey1:hover{background-color:var(--coldGrey1) !important}.border-color-coldGrey1{border-color:var(--coldGrey1) !important}.color-coldGrey2{color:var(--coldGrey2) !important}.bg-coldGrey2{background-color:var(--coldGrey2) !important}.hover-color-coldGrey2:hover{color:var(--coldGrey2) !important}.hover-bg-coldGrey2:hover{background-color:var(--coldGrey2) !important}.border-color-coldGrey2{border-color:var(--coldGrey2) !important}.color-white1{color:var(--white1) !important}.bg-white1{background-color:var(--white1) !important}.hover-color-white1:hover{color:var(--white1) !important}.hover-bg-white1:hover{background-color:var(--white1) !important}.border-color-white1{border-color:var(--white1) !important}.color-red1{color:var(--red1) !important}.bg-red1{background-color:var(--red1) !important}.hover-color-red1:hover{color:var(--red1) !important}.hover-bg-red1:hover{background-color:var(--red1) !important}.border-color-red1{border-color:var(--red1) !important}.color-red2{color:var(--red2) !important}.bg-red2{background-color:var(--red2) !important}.hover-color-red2:hover{color:var(--red2) !important}.hover-bg-red2:hover{background-color:var(--red2) !important}.border-color-red2{border-color:var(--red2) !important}.color-red3{color:var(--red3) !important}.bg-red3{background-color:var(--red3) !important}.hover-color-red3:hover{color:var(--red3) !important}.hover-bg-red3:hover{background-color:var(--red3) !important}.border-color-red3{border-color:var(--red3) !important}.color-ratingColorPass{color:var(--ratingColorPass) !important}.bg-ratingColorPass{background-color:var(--ratingColorPass) !important}.hover-color-ratingColorPass:hover{color:var(--ratingColorPass) !important}.hover-bg-ratingColorPass:hover{background-color:var(--ratingColorPass) !important}.border-color-ratingColorPass{border-color:var(--ratingColorPass) !important}.color-ratingColorWarn{color:var(--ratingColorWarn) !important}.bg-ratingColorWarn{background-color:var(--ratingColorWarn) !important}.hover-color-ratingColorWarn:hover{color:var(--ratingColorWarn) !important}.hover-bg-ratingColorWarn:hover{background-color:var(--ratingColorWarn) !important}.border-color-ratingColorWarn{border-color:var(--ratingColorWarn) !important}.color-ratingColorFail{color:var(--ratingColorFail) !important}.bg-ratingColorFail{background-color:var(--ratingColorFail) !important}.hover-color-ratingColorFail:hover{color:var(--ratingColorFail) !important}.hover-bg-ratingColorFail:hover{background-color:var(--ratingColorFail) !important}.border-color-ratingColorFail{border-color:var(--ratingColorFail) !important}.color-ratingColorUnknown{color:var(--ratingColorUnknown) !important}.bg-ratingColorUnknown{background-color:var(--ratingColorUnknown) !important}.hover-color-ratingColorUnknown:hover{color:var(--ratingColorUnknown) !important}.hover-bg-ratingColorUnknown:hover{background-color:var(--ratingColorUnknown) !important}.border-color-ratingColorUnknown{border-color:var(--ratingColorUnknown) !important}.color-blueGrey{color:var(--blueGrey) !important}.bg-blueGrey{background-color:var(--blueGrey) !important}
1.hover-color-blueGrey:hover{color:var(--blueGrey) !important}.hover-bg-blueGrey:hover{background-color:var(--blueGrey) !important}.border-color-blueGrey{border-color:var(--blueGrey) !important}.color-darkBg1{color:var(--darkBg1) !important}.bg-darkBg1{background-color:var(--darkBg1) !important}.hover-color-darkBg1:hover{color:var(--darkBg1) !important}.hover-bg-darkBg1:hover{background-color:var(--darkBg1) !important}.border-color-darkBg1{border-color:var(--darkBg1) !important}.color-darkBg2{color:var(--darkBg2) !important}.bg-darkBg2{background-color:var(--darkBg2) !important}.hover-color-darkBg2:hover{color:var(--darkBg2) !important}.hover-bg-darkBg2:hover{background-color:var(--darkBg2) !important}.border-color-darkBg2{border-color:var(--darkBg2) !important}.color-darkBg3{color:var(--darkBg3) !important}.bg-darkBg3{background-color:var(--darkBg3) !important}.hover-color-darkBg3:hover{color:var(--darkBg3) !important}.hover-bg-darkBg3:hover{background-color:var(--darkBg3) !important}.border-color-darkBg3{border-color:var(--darkBg3) !important}.color-webVitalsHighContrastPass{color:var(--webVitalsHighContrastPass) !important}.bg-webVitalsHighContrastPass{background-color:var(--webVitalsHighContrastPass) !important}.hover-color-webVitalsHighContrastPass:hover{color:var(--webVitalsHighContrastPass) !important}.hover-bg-webVitalsHighContrastPass:hover{background-color:var(--webVitalsHighContrastPass) !important}.border-color-webVitalsHighContrastPass{border-color:var(--webVitalsHighContrastPass) !important}.color-webVitalsHighContrastWarn{color:var(--webVitalsHighContrastWarn) !important}.bg-webVitalsHighContrastWarn{background-color:var(--webVitalsHighContrastWarn) !important}.hover-color-webVitalsHighContrastWarn:hover{color:var(--webVitalsHighContrastWarn) !important}.hover-bg-webVitalsHighContrastWarn:hover{background-color:var(--webVitalsHighContrastWarn) !important}.border-color-webVitalsHighContrastWarn{border-color:var(--webVitalsHighContrastWarn) !important}.color-webVitalsHighContrastFail{color:var(--webVitalsHighContrastFail) !important}.bg-webVitalsHighContrastFail{background-color:var(--webVitalsHighContrastFail) !important}.hover-color-webVitalsHighContrastFail:hover{color:var(--webVitalsHighContrastFail) !important}.hover-bg-webVitalsHighContrastFail:hover{background-color:var(--webVitalsHighContrastFail) !important}.border-color-webVitalsHighContrastFail{border-color:var(--webVitalsHighContrastFail) !important}.color-webVitalsHighContrastUnknown{color:var(--webVitalsHighContrastUnknown) !important}.bg-webVitalsHighContrastUnknown{background-color:var(--webVitalsHighContrastUnknown) !important}.hover-color-webVitalsHighContrastUnknown:hover{color:var(--webVitalsHighContrastUnknown) !important}.hover-bg-webVitalsHighContrastUnknown:hover{background-color:var(--webVitalsHighContrastUnknown) !important}.border-color-webVitalsHighContrastUnknown{border-color:var(--webVitalsHighContrastUnknown) !important}.color-webVitalsPass{color:var(--webVitalsPass) !important}.bg-webVitalsPass{background-color:var(--webVitalsPass) !important}.hover-color-webVitalsPass:hover{color:var(--webVitalsPass) !important}.hover-bg-webVitalsPass:hover{background-color:var(--webVitalsPass) !important}.border-color-webVitalsPass{border-color:var(--webVitalsPass) !important}.color-webVitalsWarn{color:var(--webVitalsWarn) !important}.bg-webVitalsWarn{background-color:var(--webVitalsWarn) !important}.hover-color-webVitalsWarn:hover{color:var(--webVitalsWarn) !important}.hover-bg-webVitalsWarn:hover{background-color:var(--webVitalsWarn) !important}.border-color-webVitalsWarn{border-color:var(--webVitalsWarn) !important}.color-webVitalsFail{color:var(--webVitalsFail) !important}.bg-webVitalsFail{background-color:var(--webVitalsFail) !important}.hover-color-webVitalsFail:hover{color:var(--webVitalsFail) !important}.hover-bg-webVitalsFail:hover{background-color:var(--webVitalsFail) !important}.border-color-webVitalsFail{border-color:var(--webVitalsFail) !important}.color-webVitalsUnknown{color:var(--webVitalsUnknown) !important}.bg-webVitalsUnknown{background-color:var(--webVitalsUnknown) !important}.hover-color-webVitalsUnknown:hover{color:var(--webVitalsUnknown) !important}.hover-bg-webVitalsUnknown:hover{background-color:var(--webVitalsUnknown) !important}.border-color-webVitalsUnknown{border-color:var(--webVitalsUnknown) !important}.color-trendImproving{color:var(--trendImproving) !important}.bg-trendImproving{background-color:var(--trendImproving) !important}.hover-color-trendImproving:hover{color:var(--trendImproving) !important}.hover-bg-trendImproving:hover{background-color:var(--trendImproving) !important}.border-color-trendImproving{border-color:var(--trendImproving) !important}.color-trendWorsening{color:var(--trendWorsening) !important}.bg-trendWorsening{background-color:var(--trendWorsening) !important}.hover-color-trendWorsening:hover{color:var(--trendWorsening) !important}.hover-bg-trendWorsening:hover{background-color:var(--trendWorsening) !important}.border-color-trendWorsening{border-color:var(--trendWorsening) !important}.color-trendUnchanged{color:var(--trendUnchanged) !important}.bg-trendUnchanged{background-color:var(--trendUnchanged) !important}.hover-color-trendUnchanged:hover{color:var(--trendUnchanged) !important}.hover-bg-trendUnchanged:hover{background-color:var(--trendUnchanged) !important}.border-color-trendUnchanged{border-color:var(--trendUnchanged) !important}.color-text{color:var(--text) !important}.bg-text{background-color:var(--text) !important}.hover-color-text:hover{color:var(--text) !important}.hover-bg-text:hover{background-color:var(--text) !important}.border-color-text{border-color:var(--text) !important}.bg-none{background-color:rgba(0,0,0,0) !important}.hover-bg-none:hover{background-color:rgba(0,0,0,0) !important}.hover-text-underline:hover{text-decoration:underline !important}.border-color-none{border-color:rgba(0,0,0,0) !important}.d-print-avoid-break{page-break-inside:avoid}.text-contrast-medium{color:#555 !important}.dark-mode .text-contrast-medium{color:#e8e8e8 !important}.hover-text-contrast-medium:hover{color:#555 !important}.dark-mode .hover-text-contrast-medium:hover{color:#e8e8e8 !important}.text-contrast-low{color:#7d8b97 !important}.dark-mode .text-contrast-low{color:#4f5b63 !important}.bg-transparent{background-color:rgba(0,0,0,0) !important}.bg-brightBlue-opacity-10{background:rgba(0,123,255,.1)}.bg-blue1-opacity-10{background:rgba(4,66,98,.1)}.bg-blue2-opacity-10{background:rgba(10,118,167,.1)}.bg-blue3-opacity-10{background:rgba(53,68,177,.1)}.bg-linkBlue-opacity-10{background:rgba(46,103,163,.1)}.bg-hoverBlue-opacity-10{background:rgba(239,246,255,.1)}.bg-hoverBlueDarkMode-opacity-10{background:rgba(10,118,167,.1)}.bg-lightBlue1-opacity-10{background:rgba(82,168,213,.1)}.bg-lightBlue2-opacity-10{background:rgba(135,183,208,.1)}.bg-teal1-opacity-10{background:rgba(20,114,120,.1)}.bg-green1-opacity-10{background:rgba(90,143,20,.1)}.bg-green2-opacity-10{background:rgba(115,183,26,.1)}.bg-green2-01-opacity-10{background:rgba(115,183,26,.1)}.bg-green3-opacity-10{background:rgba(26,135,85,.1)}.bg-purple1-opacity-10{background:rgba(133,53,177,.1)}.bg-purple2-opacity-10{background:rgba(153,105,201,.1)}.bg-yellow1-opacity-10{background:rgba(132,113,36,.1)}.bg-yellow2-opacity-10{background:rgba(219,188,61,.1)}.bg-yellow2-01-opacity-10{background:rgba(219,188,61,.1)}.bg-orange1-opacity-10{background:rgba(186,120,38,.1)}.bg-grey1-opacity-10{background:rgba(23,23,23,.1)}.bg-grey2-opacity-10{background:rgba(85,85,85,.1)}.bg-grey3-opacity-10{background:rgba(120,120,120,.1)}.bg-grey4-opacity-10{background:rgba(199,199,199,.1)}.bg-grey5-opacity-10{background:rgba(232,232,232,.1)}.bg-grey6-opacity-10{background:rgba(247,247,247,.1)}.bg-grey7-opacity-10{background:rgba(251,251,251,.1)}.bg-grey8-opacity-10{background:rgba(227,227,227,.1)}.bg-coldGrey1-opacity-10{background:rgba(125,139,151,.1)}.bg-coldGrey2-opacity-10{background:rgba(79,91,99,.1)}.bg-white1-opacity-10{background:rgba(255,255,255,.1)}.bg-red1-opacity-10{background:rgba(228,88,88,.1)}.bg-red2-opacity-10{background:rgba(213,103,103,.1)}
1.bg-red3-opacity-10{background:rgba(200,121,121,.1)}.bg-ratingColorPass-opacity-10{background:rgba(1,134,66,.1)}.bg-ratingColorWarn-opacity-10{background:rgba(208,73,0,.1)}.bg-ratingColorFail-opacity-10{background:rgba(224,29,16,.1)}.bg-ratingColorUnknown-opacity-10{background:rgba(51,51,51,.1)}.bg-blueGrey-opacity-10{background:rgba(236,242,245,.1)}.bg-darkBg1-opacity-10{background:rgba(23,25,35,.1)}.bg-darkBg2-opacity-10{background:rgba(30,33,46,.1)}.bg-darkBg3-opacity-10{background:rgba(17,17,34,.1)}.bg-webVitalsHighContrastPass-opacity-10{background:rgba(46,122,85,.1)}.bg-webVitalsHighContrastWarn-opacity-10{background:rgba(232,221,66,.1)}.bg-webVitalsHighContrastFail-opacity-10{background:rgba(243,155,177,.1)}.bg-webVitalsHighContrastUnknown-opacity-10{background:rgba(170,170,170,.1)}.bg-webVitalsPass-opacity-10{background:rgba(13,206,107,.1)}.bg-webVitalsWarn-opacity-10{background:rgba(255,164,0,.1)}.bg-webVitalsFail-opacity-10{background:rgba(255,78,66,.1)}.bg-webVitalsUnknown-opacity-10{background:rgba(170,170,170,.1)}.bg-trendImproving-opacity-10{background:rgba(41,169,56,.1)}.bg-trendWorsening-opacity-10{background:rgba(223,69,69,.1)}.bg-trendUnchanged-opacity-10{background:rgba(125,139,151,.1)}.bg-text-opacity-10{background:rgba(51,51,51,.1)}.gap-xxxlg{gap:3rem !important}.gap-xxlg{gap:2rem !important}.gap-xlg{gap:1.5rem !important}.gap-lg{gap:1.25rem !important}.gap-m{gap:1rem !important}.gap-sm{gap:0.75rem !important}.gap-xsm{gap:0.5rem !important}.gap-xxsm{gap:0.25rem !important}.gap-xxxsm{gap:0.125rem !important}.scale-1{font-size:3rem !important}.scale-2{font-size:2.5rem !important}.scale-3{font-size:2rem !important}.scale-4{font-size:1.5rem !important}.scale-5{font-size:1.25rem !important}.scale-base{font-size:1rem !important}.scale-small-1{font-size:0.8125rem !important}.scale-small-2{font-size:0.625rem !important}.scale-small-3{font-size:0.5rem !important}.flex-no-shrink{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-grow-1{flex-grow:1 !important}.flex-basis-0{flex-basis:0 !important}.cursor-pointer{cursor:pointer !important}.text-break{overflow-wrap:break-word !important;word-break:break-word !important}.user-select-none{user-select:none !important}.rounded-2{border-radius:.125rem !important}.rounded-4{border-radius:.25rem !important}.rounded-8{border-radius:.5rem !important}.rounded-round{border-radius:99rem !important}.font-weight-500,.font-weight-semi-bold{font-weight:500 !important}.one-line{white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important}.hover\\:opacity-1{transition:opacity .3s}.hover\\:opacity-1:hover{opacity:1}.opacity-0\\.5{opacity:.5}.opacity-0\\.3{opacity:.3}.opacity-0{opacity:0}.inherit-color-on-hover:hover{color:inherit !important}.d-inline-block{display:inline-block !important}.dashboard-item-controls-container{position:absolute;top:8px;right:8px;display:flex;gap:4px;background:rgba(255,255,255,.8)}.dark-mode .dashboard-item-controls-container{background:rgba(23,25,35,.8)}.dashboard-item-controls-container__with-title{padding-top:10px}",""]);const l=a;r.d(t,["A",0,l])},83060(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,":root{--brightBlue: #007bff;--blue1: #044262;--blue2: #0a76a7;--blue3: #3544b1;--linkBlue: #2e67a3;--hoverBlue: #eff6ff;--hoverBlueDarkMode: #0a76a7;--lightBlue1: #52a8d5;--lightBlue2: #87b7d0;--teal1: #147278;--green1: hsl(86, 75%, 32%);--green2: hsl(86, 75%, 41%);--green2-01: hsla(86, 75%, 41%, 0.1);--green3: #1a8755;--purple1: hsl(279, 54%, 45%);--purple2: hsl(270, 47%, 60%);--yellow1: hsl(48, 57%, 33%);--yellow2: hsl(48, 69%, 55%);--yellow2-01: hsla(48, 69%, 55%, 0.1);--orange1: hsl(33, 66%, 44%);--grey1: hsl(0, 0%, 9%);--grey2: hsl(0, 0%, 33.33%);--grey3: hsl(0, 0%, 47%);--grey4: hsl(0, 0%, 78%);--grey5: hsl(0, 0%, 91%);--grey6: hsl(0, 0%, 97%);--grey7: #fbfbfb;--grey8: #e3e3e3;--coldGrey1: hsl(206, 11%, 54%);--coldGrey2: hsl(206, 11%, 35%);--white1: #fff;--red1: hsl(0, 72%, 62%);--red2: hsl(0, 57%, 62%);--red3: hsl(0, 42%, 63%);--ratingColorPass: #018642;--ratingColorWarn: #d04900;--ratingColorFail: #e01d10;--ratingColorUnknown: #333;--blueGrey: #ecf2f5;--darkBg1: #171923;--darkBg2: #1e212e;--darkBg3: #112;--webVitalsHighContrastPass: #2e7a55;--webVitalsHighContrastWarn: #e8dd42;--webVitalsHighContrastFail: #f39bb1;--webVitalsHighContrastUnknown: #aaa;--webVitalsPass: #0dce6b;--webVitalsWarn: #ffa400;--webVitalsFail: #ff4e42;--webVitalsUnknown: #aaa;--trendImproving: #29a938;--trendWorsening: #df4545;--trendUnchanged: #7d8b97;--text: #333;--formPlaceholder: hsl(206, 11%, 54%);--selectIndicator: hsl(206, 11%, 54%)}html.dark-mode{--grey1: rgba(255, 255, 255, 0.9);--grey2: rgba(255, 255, 255, 0.8);--grey3: rgba(255, 255, 255, 0.7);--grey4: rgba(255, 255, 255, 0.2);--grey5: rgba(255, 255, 255, 0.15);--grey6: rgba(255, 255, 255, 0.1);--grey7: #112129;--coldGrey1: rgba(255, 255, 255, 0.8);--coldGrey2: rgba(255, 255, 255, 0.6);--blue1: #fff;--blue2: #707ff1;--white1: #171923}.color-brightBlue{color:var(--brightBlue) !important}.bg-brightBlue{background-color:var(--brightBlue) !important}.hover-color-brightBlue:hover{color:var(--brightBlue) !important}.hover-bg-brightBlue:hover{background-color:var(--brightBlue) !important}.border-color-brightBlue{border-color:var(--brightBlue) !important}.color-blue1{color:var(--blue1) !important}.bg-blue1{background-color:var(--blue1) !important}.hover-color-blue1:hover{color:var(--blue1) !important}.hover-bg-blue1:hover{background-color:var(--blue1) !important}.border-color-blue1{border-color:var(--blue1) !important}.color-blue2{color:var(--blue2) !important}.bg-blue2{background-color:var(--blue2) !important}.hover-color-blue2:hover{color:var(--blue2) !important}.hover-bg-blue2:hover{background-color:var(--blue2) !important}.border-color-blue2{border-color:var(--blue2) !important}.color-blue3{color:var(--blue3) !important}.bg-blue3{background-color:var(--blue3) !important}.hover-color-blue3:hover{color:var(--blue3) !important}.hover-bg-blue3:hover{background-color:var(--blue3) !important}.border-color-blue3{border-color:var(--blue3) !important}.color-linkBlue{color:var(--linkBlue) !important}.bg-linkBlue{background-color:var(--linkBlue) !important}.hover-color-linkBlue:hover{color:var(--linkBlue) !important}.hover-bg-linkBlue:hover{background-color:var(--linkBlue) !important}.border-color-linkBlue{border-color:var(--linkBlue) !important}.color-hoverBlue{color:var(--hoverBlue) !important}.bg-hoverBlue{background-color:var(--hoverBlue) !important}.hover-color-hoverBlue:hover{color:var(--hoverBlue) !important}.hover-bg-hoverBlue:hover{background-color:var(--hoverBlue) !important}.border-color-hoverBlue{border-color:var(--hoverBlue) !important}.color-hoverBlueDarkMode{color:var(--hoverBlueDarkMode) !important}.bg-hoverBlueDarkMode{background-color:var(--hoverBlueDarkMode) !important}.hover-color-hoverBlueDarkMode:hover{color:var(--hoverBlueDarkMode) !important}.hover-bg-hoverBlueDarkMode:hover{background-color:var(--hoverBlueDarkMode) !important}.border-color-hoverBlueDarkMode{border-color:var(--hoverBlueDarkMode) !important}.color-lightBlue1{color:var(--lightBlue1) !important}.bg-lightBlue1{background-color:var(--lightBlue1) !important}.hover-color-lightBlue1:hover{color:var(--lightBlue1) !important}.hover-bg-lightBlue1:hover{background-color:var(--lightBlue1) !important}.border-color-lightBlue1{border-color:var(--lightBlue1) !important}.color-lightBlue2{color:var(--lightBlue2) !important}.bg-lightBlue2{background-color:var(--lightBlue2) !important}.hover-color-lightBlue2:hover{color:var(--lightBlue2) !important}.hover-bg-lightBlue2:hover{background-color:var(--lightBlue2) !important}.border-color-lightBlue2{border-color:var(--lightBlue2) !important}.color-teal1{color:var(--teal1) !important}.bg-teal1{background-color:var(--teal1) !important}.hover-color-teal1:hover{color:var(--teal1) !important}.hover-bg-teal1:hover{background-color:var(--teal1) !important}.border-color-teal1{border-color:var(--teal1) !important}.color-green1{color:var(--green1) !important}.bg-green1{background-color:var(--green1) !important}.hover-color-green1:hover{color:var(--green1) !important}.hover-bg-green1:hover{background-color:var(--green1) !important}.border-color-green1{border-color:var(--green1) !important}.color-green2{color:var(--green2) !important}.bg-green2{background-color:var(--green2) !important}.hover-color-green2:hover{color:var(--green2) !important}.hover-bg-green2:hover{background-color:var(--green2) !important}.border-color-green2{border-color:var(--green2) !important}.color-green2-01{color:var(--green2-01) !important}.bg-green2-01{background-color:var(--green2-01) !important}.hover-color-green2-01:hover{color:var(--green2-01) !important}.hover-bg-green2-01:hover{background-color:var(--green2-01) !important}.border-color-green2-01{border-color:var(--green2-01) !important}.color-green3{color:var(--green3) !important}.bg-green3{background-color:var(--green3) !important}.hover-color-green3:hover{color:var(--green3) !important}.hover-bg-green3:hover{background-color:var(--green3) !important}.border-color-green3{border-color:var(--green3) !important}.color-purple1{color:var(--purple1) !important}.bg-purple1{background-color:var(--purple1) !important}.hover-color-purple1:hover{color:var(--purple1) !important}.hover-bg-purple1:hover{background-color:var(--purple1) !important}.border-color-purple1{border-color:var(--purple1) !important}.color-purple2{color:var(--purple2) !important}.bg-purple2{background-color:var(--purple2) !important}.hover-color-purple2:hover{color:var(--purple2) !important}.hover-bg-purple2:hover{background-color:var(--purple2) !important}.border-color-purple2{border-color:var(--purple2) !important}.color-yellow1{color:var(--yellow1) !important}.bg-yellow1{background-color:var(--yellow1) !important}.hover-color-yellow1:hover{color:var(--yellow1) !important}.hover-bg-yellow1:hover{background-color:var(--yellow1) !important}.border-color-yellow1{border-color:var(--yellow1) !important}.color-yellow2{color:var(--yellow2) !important}.bg-yellow2{background-color:var(--yellow2) !important}.hover-color-yellow2:hover{color:var(--yellow2) !important}.hover-bg-yellow2:hover{background-color:var(--yellow2) !important}.border-color-yellow2{border-color:var(--yellow2) !important}.color-yellow2-01{color:var(--yellow2-01) !important}.bg-yellow2-01{background-color:var(--yellow2-01) !important}.hover-color-yellow2-01:hover{color:var(--yellow2-01) !important}.hover-bg-yellow2-01:hover{background-color:var(--yellow2-01) !important}.border-color-yellow2-01{border-color:var(--yellow2-01) !important}.color-orange1{color:var(--orange1) !important}.bg-orange1{background-color:var(--orange1) !important}.hover-color-orange1:hover{color:var(--orange1) !important}.hover-bg-orange1:hover{background-color:var(--orange1) !important}.border-color-orange1{border-color:var(--orange1) !important}.color-grey1{color:var(--grey1) !important}.bg-grey1{background-color:var(--grey1) !important}.hover-color-grey1:hover{color:var(--grey1) !important}.hover-bg-grey1:hover{background-color:var(--grey1) !important}.border-color-grey1{border-color:var(--grey1) !important}.color-grey2{color:var(--grey2) !important}.bg-grey2{background-color:var(--grey2) !important}.hover-color-grey2:hover{color:var(--grey2) !important}.hover-bg-grey2:hover{background-color:var(--grey2) !important}.border-color-grey2{border-color:var(--grey2) !important}.color-grey3{color:var(--grey3) !important}.bg-grey3{background-color:var(--grey3) !important}.hover-color-grey3:hover{color:var(--grey3) !important}.hover-bg-grey3:hover{background-color:var(--grey3) !important}.border-color-grey3{border-color:var(--grey3) !important}.color-grey4{color:var(--grey4) !important}.bg-grey4{background-color:var(--grey4) !important}.hover-color-grey4:hover{color:var(--grey4) !important}.hover-bg-grey4:hover{background-color:var(--grey4) !important}.border-color-grey4{border-color:var(--grey4) !important}.color-grey5{color:var(--grey5) !important}.bg-grey5{background-color:var(--grey5) !important}.hover-color-grey5:hover{color:var(--grey5) !important}.hover-bg-grey5:hover{background-color:var(--grey5) !important}.border-color-grey5{border-color:var(--grey5) !important}.color-grey6{color:var(--grey6) !important}.bg-grey6{background-color:var(--grey6) !important}.hover-color-grey6:hover{color:var(--grey6) !important}.hover-bg-grey6:hover{background-color:var(--grey6) !important}.border-color-grey6{border-color:var(--grey6) !important}.color-grey7{color:var(--grey7) !important}.bg-grey7{background-color:var(--grey7) !important}.hover-color-grey7:hover{color:var(--grey7) !important}.hover-bg-grey7:hover{background-color:var(--grey7) !important}.border-color-grey7{border-color:var(--grey7) !important}.color-grey8{color:var(--grey8) !important}.bg-grey8{background-color:var(--grey8) !important}.hover-color-grey8:hover{color:var(--grey8) !important}.hover-bg-grey8:hover{background-color:var(--grey8) !important}.border-color-grey8{border-color:var(--grey8) !important}.color-coldGrey1{color:var(--coldGrey1) !important}.bg-coldGrey1{background-color:var(--coldGrey1) !important}.hover-color-coldGrey1:hover{color:var(--coldGrey1) !important}.hover-bg-coldGrey1:hover{background-color:var(--coldGrey1) !important}.border-color-coldGrey1{border-color:var(--coldGrey1) !important}.color-coldGrey2{color:var(--coldGrey2) !important}.bg-coldGrey2{background-color:var(--coldGrey2) !important}.hover-color-coldGrey2:hover{color:var(--coldGrey2) !important}.hover-bg-coldGrey2:hover{background-color:var(--coldGrey2) !important}.border-color-coldGrey2{border-color:var(--coldGrey2) !important}.color-white1{color:var(--white1) !important}.bg-white1{background-color:var(--white1) !important}.hover-color-white1:hover{color:var(--white1) !important}.hover-bg-white1:hover{background-color:var(--white1) !important}.border-color-white1{border-color:var(--white1) !important}.color-red1{color:var(--red1) !important}.bg-red1{background-color:var(--red1) !important}.hover-color-red1:hover{color:var(--red1) !important}.hover-bg-red1:hover{background-color:var(--red1) !important}.border-color-red1{border-color:var(--red1) !important}.color-red2{color:var(--red2) !important}.bg-red2{background-color:var(--red2) !important}.hover-color-red2:hover{color:var(--red2) !important}.hover-bg-red2:hover{background-color:var(--red2) !important}.border-color-red2{border-color:var(--red2) !important}.color-red3{color:var(--red3) !important}.bg-red3{background-color:var(--red3) !important}.hover-color-red3:hover{color:var(--red3) !important}.hover-bg-red3:hover{background-color:var(--red3) !important}.border-color-red3{border-color:var(--red3) !important}.color-ratingColorPass{color:var(--ratingColorPass) !important}.bg-ratingColorPass{background-color:var(--ratingColorPass) !important}.hover-color-ratingColorPass:hover{color:var(--ratingColorPass) !important}.hover-bg-ratingColorPass:hover{background-color:var(--ratingColorPass) !important}.border-color-ratingColorPass{border-color:var(--ratingColorPass) !important}.color-ratingColorWarn{color:var(--ratingColorWarn) !important}.bg-ratingColorWarn{background-color:var(--ratingColorWarn) !important}.hover-color-ratingColorWarn:hover{color:var(--ratingColorWarn) !important}.hover-bg-ratingColorWarn:hover{background-color:var(--ratingColorWarn) !important}.border-color-ratingColorWarn{border-color:var(--ratingColorWarn) !important}.color-ratingColorFail{color:var(--ratingColorFail) !important}.bg-ratingColorFail{background-color:var(--ratingColorFail) !important}.hover-color-ratingColorFail:hover{color:var(--ratingColorFail) !important}.hover-bg-ratingColorFail:hover{background-color:var(--ratingColorFail) !important}.border-color-ratingColorFail{border-color:var(--ratingColorFail) !important}.color-ratingColorUnknown{color:var(--ratingColorUnknown) !important}.bg-ratingColorUnknown{background-color:var(--ratingColorUnknown) !important}.hover-color-ratingColorUnknown:hover{color:var(--ratingColorUnknown) !important}.hover-bg-ratingColorUnknown:hover{background-color:var(--ratingColorUnknown) !important}.border-color-ratingColorUnknown{border-color:var(--ratingColorUnknown) !important}.color-blueGrey{color:var(--blueGrey) !important}.bg-blueGrey{background-color:var(--blueGrey) !importan
1t}.hover-color-blueGrey:hover{color:var(--blueGrey) !important}.hover-bg-blueGrey:hover{background-color:var(--blueGrey) !important}.border-color-blueGrey{border-color:var(--blueGrey) !important}.color-darkBg1{color:var(--darkBg1) !important}.bg-darkBg1{background-color:var(--darkBg1) !important}.hover-color-darkBg1:hover{color:var(--darkBg1) !important}.hover-bg-darkBg1:hover{background-color:var(--darkBg1) !important}.border-color-darkBg1{border-color:var(--darkBg1) !important}.color-darkBg2{color:var(--darkBg2) !important}.bg-darkBg2{background-color:var(--darkBg2) !important}.hover-color-darkBg2:hover{color:var(--darkBg2) !important}.hover-bg-darkBg2:hover{background-color:var(--darkBg2) !important}.border-color-darkBg2{border-color:var(--darkBg2) !important}.color-darkBg3{color:var(--darkBg3) !important}.bg-darkBg3{background-color:var(--darkBg3) !important}.hover-color-darkBg3:hover{color:var(--darkBg3) !important}.hover-bg-darkBg3:hover{background-color:var(--darkBg3) !important}.border-color-darkBg3{border-color:var(--darkBg3) !important}.color-webVitalsHighContrastPass{color:var(--webVitalsHighContrastPass) !important}.bg-webVitalsHighContrastPass{background-color:var(--webVitalsHighContrastPass) !important}.hover-color-webVitalsHighContrastPass:hover{color:var(--webVitalsHighContrastPass) !important}.hover-bg-webVitalsHighContrastPass:hover{background-color:var(--webVitalsHighContrastPass) !important}.border-color-webVitalsHighContrastPass{border-color:var(--webVitalsHighContrastPass) !important}.color-webVitalsHighContrastWarn{color:var(--webVitalsHighContrastWarn) !important}.bg-webVitalsHighContrastWarn{background-color:var(--webVitalsHighContrastWarn) !important}.hover-color-webVitalsHighContrastWarn:hover{color:var(--webVitalsHighContrastWarn) !important}.hover-bg-webVitalsHighContrastWarn:hover{background-color:var(--webVitalsHighContrastWarn) !important}.border-color-webVitalsHighContrastWarn{border-color:var(--webVitalsHighContrastWarn) !important}.color-webVitalsHighContrastFail{color:var(--webVitalsHighContrastFail) !important}.bg-webVitalsHighContrastFail{background-color:var(--webVitalsHighContrastFail) !important}.hover-color-webVitalsHighContrastFail:hover{color:var(--webVitalsHighContrastFail) !important}.hover-bg-webVitalsHighContrastFail:hover{background-color:var(--webVitalsHighContrastFail) !important}.border-color-webVitalsHighContrastFail{border-color:var(--webVitalsHighContrastFail) !important}.color-webVitalsHighContrastUnknown{color:var(--webVitalsHighContrastUnknown) !important}.bg-webVitalsHighContrastUnknown{background-color:var(--webVitalsHighContrastUnknown) !important}.hover-color-webVitalsHighContrastUnknown:hover{color:var(--webVitalsHighContrastUnknown) !important}.hover-bg-webVitalsHighContrastUnknown:hover{background-color:var(--webVitalsHighContrastUnknown) !important}.border-color-webVitalsHighContrastUnknown{border-color:var(--webVitalsHighContrastUnknown) !important}.color-webVitalsPass{color:var(--webVitalsPass) !important}.bg-webVitalsPass{background-color:var(--webVitalsPass) !important}.hover-color-webVitalsPass:hover{color:var(--webVitalsPass) !important}.hover-bg-webVitalsPass:hover{background-color:var(--webVitalsPass) !important}.border-color-webVitalsPass{border-color:var(--webVitalsPass) !important}.color-webVitalsWarn{color:var(--webVitalsWarn) !important}.bg-webVitalsWarn{background-color:var(--webVitalsWarn) !important}.hover-color-webVitalsWarn:hover{color:var(--webVitalsWarn) !important}.hover-bg-webVitalsWarn:hover{background-color:var(--webVitalsWarn) !important}.border-color-webVitalsWarn{border-color:var(--webVitalsWarn) !important}.color-webVitalsFail{color:var(--webVitalsFail) !important}.bg-webVitalsFail{background-color:var(--webVitalsFail) !important}.hover-color-webVitalsFail:hover{color:var(--webVitalsFail) !important}.hover-bg-webVitalsFail:hover{background-color:var(--webVitalsFail) !important}.border-color-webVitalsFail{border-color:var(--webVitalsFail) !important}.color-webVitalsUnknown{color:var(--webVitalsUnknown) !important}.bg-webVitalsUnknown{background-color:var(--webVitalsUnknown) !important}.hover-color-webVitalsUnknown:hover{color:var(--webVitalsUnknown) !important}.hover-bg-webVitalsUnknown:hover{background-color:var(--webVitalsUnknown) !important}.border-color-webVitalsUnknown{border-color:var(--webVitalsUnknown) !important}.color-trendImproving{color:var(--trendImproving) !important}.bg-trendImproving{background-color:var(--trendImproving) !important}.hover-color-trendImproving:hover{color:var(--trendImproving) !important}.hover-bg-trendImproving:hover{background-color:var(--trendImproving) !important}.border-color-trendImproving{border-color:var(--trendImproving) !important}.color-trendWorsening{color:var(--trendWorsening) !important}.bg-trendWorsening{background-color:var(--trendWorsening) !important}.hover-color-trendWorsening:hover{color:var(--trendWorsening) !important}.hover-bg-trendWorsening:hover{background-color:var(--trendWorsening) !important}.border-color-trendWorsening{border-color:var(--trendWorsening) !important}.color-trendUnchanged{color:var(--trendUnchanged) !important}.bg-trendUnchanged{background-color:var(--trendUnchanged) !important}.hover-color-trendUnchanged:hover{color:var(--trendUnchanged) !important}.hover-bg-trendUnchanged:hover{background-color:var(--trendUnchanged) !important}.border-color-trendUnchanged{border-color:var(--trendUnchanged) !important}.color-text{color:var(--text) !important}.bg-text{background-color:var(--text) !important}.hover-color-text:hover{color:var(--text) !important}.hover-bg-text:hover{background-color:var(--text) !important}.border-color-text{border-color:var(--text) !important}.bg-none{background-color:rgba(0,0,0,0) !important}.hover-bg-none:hover{background-color:rgba(0,0,0,0) !important}.hover-text-underline:hover{text-decoration:underline !important}.border-color-none{border-color:rgba(0,0,0,0) !important}.d-print-avoid-break{page-break-inside:avoid}.text-contrast-medium{color:#555 !important}.dark-mode .text-contrast-medium{color:#e8e8e8 !important}.hover-text-contrast-medium:hover{color:#555 !important}.dark-mode .hover-text-contrast-medium:hover{color:#e8e8e8 !important}.text-contrast-low{color:#7d8b97 !important}.dark-mode .text-contrast-low{color:#4f5b63 !important}.bg-transparent{background-color:rgba(0,0,0,0) !important}.bg-brightBlue-opacity-10{background:rgba(0,123,255,.1)}.bg-blue1-opacity-10{background:rgba(4,66,98,.1)}.bg-blue2-opacity-10{background:rgba(10,118,167,.1)}.bg-blue3-opacity-10{background:rgba(53,68,177,.1)}.bg-linkBlue-opacity-10{background:rgba(46,103,163,.1)}.bg-hoverBlue-opacity-10{background:rgba(239,246,255,.1)}.bg-hoverBlueDarkMode-opacity-10{background:rgba(10,118,167,.1)}.bg-lightBlue1-opacity-10{background:rgba(82,168,213,.1)}.bg-lightBlue2-opacity-10{background:rgba(135,183,208,.1)}.bg-teal1-opacity-10{background:rgba(20,114,120,.1)}.bg-green1-opacity-10{background:rgba(90,143,20,.1)}.bg-green2-opacity-10{background:rgba(115,183,26,.1)}.bg-green2-01-opacity-10{background:rgba(115,183,26,.1)}.bg-green3-opacity-10{background:rgba(26,135,85,.1)}.bg-purple1-opacity-10{background:rgba(133,53,177,.1)}.bg-purple2-opacity-10{background:rgba(153,105,201,.1)}.bg-yellow1-opacity-10{background:rgba(132,113,36,.1)}.bg-yellow2-opacity-10{background:rgba(219,188,61,.1)}.bg-yellow2-01-opacity-10{background:rgba(219,188,61,.1)}.bg-orange1-opacity-10{background:rgba(186,120,38,.1)}.bg-grey1-opacity-10{background:rgba(23,23,23,.1)}.bg-grey2-opacity-10{background:rgba(85,85,85,.1)}.bg-grey3-opacity-10{background:rgba(120,120,120,.1)}.bg-grey4-opacity-10{background:rgba(199,199,199,.1)}.bg-grey5-opacity-10{background:rgba(232,232,232,.1)}.bg-grey6-opacity-10{background:rgba(247,247,247,.1)}.bg-grey7-opacity-10{background:rgba(251,251,251,.1)}.bg-grey8-opacity-10{background:rgba(227,227,227,.1)}.bg-coldGrey1-opacity-10{background:rgba(125,139,151,.1)}.bg-coldGrey2-opacity-10{background:rgba(79,91,99,.1)}.bg-white1-opacity-10{background:rgba(255,255,255,.1)}.bg-red1-opacity-10{background:rgba(228,88,88,.1)}.bg-red2-opacity-10{background:rgba(213,103,103,.1)}
1.bg-red3-opacity-10{background:rgba(200,121,121,.1)}.bg-ratingColorPass-opacity-10{background:rgba(1,134,66,.1)}.bg-ratingColorWarn-opacity-10{background:rgba(208,73,0,.1)}.bg-ratingColorFail-opacity-10{background:rgba(224,29,16,.1)}.bg-ratingColorUnknown-opacity-10{background:rgba(51,51,51,.1)}.bg-blueGrey-opacity-10{background:rgba(236,242,245,.1)}.bg-darkBg1-opacity-10{background:rgba(23,25,35,.1)}.bg-darkBg2-opacity-10{background:rgba(30,33,46,.1)}.bg-darkBg3-opacity-10{background:rgba(17,17,34,.1)}.bg-webVitalsHighContrastPass-opacity-10{background:rgba(46,122,85,.1)}.bg-webVitalsHighContrastWarn-opacity-10{background:rgba(232,221,66,.1)}.bg-webVitalsHighContrastFail-opacity-10{background:rgba(243,155,177,.1)}.bg-webVitalsHighContrastUnknown-opacity-10{background:rgba(170,170,170,.1)}.bg-webVitalsPass-opacity-10{background:rgba(13,206,107,.1)}.bg-webVitalsWarn-opacity-10{background:rgba(255,164,0,.1)}.bg-webVitalsFail-opacity-10{background:rgba(255,78,66,.1)}.bg-webVitalsUnknown-opacity-10{background:rgba(170,170,170,.1)}.bg-trendImproving-opacity-10{background:rgba(41,169,56,.1)}.bg-trendWorsening-opacity-10{background:rgba(223,69,69,.1)}.bg-trendUnchanged-opacity-10{background:rgba(125,139,151,.1)}.bg-text-opacity-10{background:rgba(51,51,51,.1)}.gap-xxxlg{gap:3rem !important}.gap-xxlg{gap:2rem !important}.gap-xlg{gap:1.5rem !important}.gap-lg{gap:1.25rem !important}.gap-m{gap:1rem !important}.gap-sm{gap:0.75rem !important}.gap-xsm{gap:0.5rem !important}.gap-xxsm{gap:0.25rem !important}.gap-xxxsm{gap:0.125rem !important}.scale-1{font-size:3rem !important}.scale-2{font-size:2.5rem !important}.scale-3{font-size:2rem !important}.scale-4{font-size:1.5rem !important}.scale-5{font-size:1.25rem !important}.scale-base{font-size:1rem !important}.scale-small-1{font-size:0.8125rem !important}.scale-small-2{font-size:0.625rem !important}.scale-small-3{font-size:0.5rem !important}.flex-no-shrink{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-grow-1{flex-grow:1 !important}.flex-basis-0{flex-basis:0 !important}.cursor-pointer{cursor:pointer !important}.text-break{overflow-wrap:break-word !important;word-break:break-word !important}.user-select-none{user-select:none !important}.rounded-2{border-radius:.125rem !important}.rounded-4{border-radius:.25rem !important}.rounded-8{border-radius:.5rem !important}.rounded-round{border-radius:99rem !important}.font-weight-500,.font-weight-semi-bold{font-weight:500 !important}.one-line{white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important}.hover\\:opacity-1{transition:opacity .3s}.hover\\:opacity-1:hover{opacity:1}.opacity-0\\.5{opacity:.5}.opacity-0\\.3{opacity:.3}.opacity-0{opacity:0}.inherit-color-on-hover:hover{color:inherit !important}.d-inline-block{display:inline-block !important}.dashboard-item-menu{padding:4px 0}.dashboard-item-menu__option{padding:6px 12px;background:none;border:none;color:inherit;cursor:pointer;font-size:13px;white-space:nowrap}.dashboard-item-menu__option:hover{background:#f7f7f7}.dark-mode .dashboard-item-menu__option:hover{background:#1e212e}",""]);const l=a;r.d(t,["A",0,l])},53924(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".edit-item-config__empty-state{border:1px dashed #e8e8e8;border-radius:4px;width:100%;text-align:center}.edit-item-config__series-pill-container{position:relative;margin-bottom:.5rem}.edit-item-config__series-pill-container--stacked .edit-item-config__series-pill-segments{flex-direction:column}.edit-item-config__series-pill-container--stacked .edit-item-config__pill-segment:not(:last-child),.edit-item-config__series-pill-container--stacked .edit-item-config__pill-segment-group:not(:last-child){border-right:none}.edit-item-config__series-pill-container--stacked .edit-item-config__series-pill-segments>*:not(:last-child){border-bottom:1px solid #e8e8e8}.dark-mode .edit-item-config__series-pill-container--stacked .edit-item-config__series-pill-segments>*:not(:last-child){border-color:#2b363c}.edit-item-config__series-pill-container--stacked .edit-item-config__pill-segment--filters{max-width:none}@media(max-width: 1023px){.edit-item-config__series-pill-container .edit-item-config__series-pill-segments{flex-direction:column}.edit-item-config__series-pill-container .edit-item-config__pill-segment:not(:last-child),.edit-item-config__series-pill-container .edit-item-config__pill-segment-group:not(:last-child){border-right:none}.edit-item-config__series-pill-container .edit-item-config__series-pill-segments>
1*:not(:last-child){border-bottom:1px solid #e8e8e8}.dark-mode .edit-item-config__series-pill-container .edit-item-config__series-pill-segments>*:not(:last-child){border-color:#2b363c}.edit-item-config__series-pill-container .edit-item-config__pill-segment--filters{max-width:none}}.edit-item-config__series-pill{display:flex;align-items:stretch;background-color:#fff;border:1px solid #e8e8e8;border-radius:6px;overflow:hidden;font-size:.8125rem}.dark-mode .edit-item-config__series-pill{background-color:#171923;border-color:#2b363c}.edit-item-config__series-pill-segments{display:flex;align-items:stretch;flex:1;min-width:0}.edit-item-config__pill-segment{text-align:left;border:none;display:flex;flex-direction:column;padding:8px 12px;cursor:pointer;transition:background-color .15s ease;min-width:0;background:#fff}.edit-item-config__pill-segment:not(:last-child){border-right:1px solid #e8e8e8}.dark-mode .edit-item-config__pill-segment{border-color:#2b363c;background:#171923}.edit-item-config__pill-segment:hover{background-color:#f7f7f7}.dark-mode .edit-item-config__pill-segment:hover{background-color:#212432}.edit-item-config__pill-segment--active{background-color:#eff6ff}.dark-mode .edit-item-config__pill-segment--active{background-color:#1c5572}.edit-item-config__pill-segment--active:hover{background-color:#e5f0ff}.dark-mode .edit-item-config__pill-segment--active:hover{background-color:#1c5572}.edit-item-config__pill-segment--metrics{flex:2;min-width:120px}.edit-item-config__pill-segment--stat{flex:0 0 auto;min-width:60px}.edit-item-config__pill-segment--groupby{flex:1;min-width:80px}.edit-item-config__pill-segment--config{justify-content:center;font-size:0}@media(min-width: 1024px){.edit-item-config__pill-segment--filters{max-width:60%}}.edit-item-config__pill-segment-group{display:flex;flex-direction:column;flex:2;min-width:120px}.edit-item-config__pill-segment-group:not(:last-child){border-right:1px solid #e8e8e8}.dark-mode .edit-item-config__pill-segment-group:not(:last-child){border-color:#2b363c}.edit-item-config__pill-segment-group .edit-item-config__pill-segment{flex:0 0 auto;border-right:none}.edit-item-config__pill-segment-group .edit-item-config__pill-segment:not(:last-child){border-bottom:1px solid #e8e8e8}.dark-mode .edit-item-config__pill-segment-group .edit-item-config__pill-segment:not(:last-child){border-color:#2b363c}.edit-item-config__segment-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#7d8b97;margin-bottom:2px;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.dark-mode .edit-item-config__segment-label{color:#4f5b63}.edit-item-config__segment-value{font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark-mode .edit-item-config__segment-value{color:#fff}.edit-item-config__pill-type-badge{display:flex;align-items:center;padding:0 10px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;background-color:#044262;width:46px;justify-content:center}.dark-mode .edit-item-config__pill-type-badge{background-color:#022131}.edit-item-config__pill-remove{display:flex;align-items:center;justify-content:center;padding:0 10px;cursor:pointer;transition:background-color .15s ease;border-left:1px solid #e8e8e8}.dark-mode .edit-item-config__pill-remove{border-color:#2b363c}.edit-item-config__pill-remove:hover{background-color:rgba(228,88,88,.1)}.dark-mode .edit-item-config__pill-remove:hover{background-color:rgba(228,88,88,.2)}.edit-item-config__segment-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background-color:#fff;border:1px solid #e8e8e8;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:100;max-height:615px;overflow-y:auto}.dark-mode .edit-item-config__segment-dropdown{background-color:#171923;border-color:#2b363c;box-shadow:0 4px 12px rgba(0,0,0,.4)}.edit-item-config__selector-panel{padding:12px}.edit-item-config__search-input{width:100%;padding:8px 12px;margin-bottom:12px;border:1px solid #e8e8e8;border-radius:4px;font-size:.8125rem;background-color:#fff;color:#333}.edit-item-config__search-input:focus{outline:none;border-color:#044262;box-shadow:0 0 0 2px rgba(4,66,98,.1)}.edit-item-config__search-input::placeholder{color:#4f5b63}.dark-mode .edit-item-config__search-input{background-color:#171923;border-color:#2b363c;color:#fff}.dark-mode .edit-item-config__search-input::placeholder{color:#7d8b97}.dark-mode .edit-item-config__search-input:focus{border-color:#044262;box-shadow:0 0 0 2px rgba(4,66,98,.2)}.edit-item-config__stat-options{display:flex;flex-wrap:wrap;gap:6px}.edit-item-config__stat-option{padding:8px 14px;border:1px solid #e8e8e8;border-radius:4px;background-color:#fff;cursor:pointer;font-size:.8125rem;font-weight:500;color:#333;transition:all .15s ease}.dark-mode .edit-item-config__stat-option{background-color:#171923;border-color:#2b363c;color:#fff}.edit-item-config__stat-option:hover{border-color:#044262;background-color:rgba(4,66,98,.05)}.edit-item-config__stat-option--selected{border-color:#044262;background-color:#044262;color:#fff}.edit-item-config__stat-option--selected:hover{background-color:#03324a}.edit-item-config__additional-config{padding:0}.edit-item-config__form-section{margin-bottom:16px}.edit-item-config__form-section:last-child{margin-bottom:0}.edit-item-config__form-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#7d8b97;margin-bottom:8px}.dark-mode .edit-item-config__form-label{color:#4f5b63}.edit-item-config__show-more-toggle{display:flex;align-items:center;justify-content:center;width:100%;padding:10px 12px;margin-top:12px;border:1px dashed #e8e8e8;border-radius:4px;background-color:rgba(0,0,0,0);cursor:pointer;font-size:.8125rem;font-weight:500;color:#044262;transition:all .15s ease}.dark-mode .edit-item-config__show-more-toggle{border-color:#2b363c;color:#066393}.edit-item-config__show-more-toggle:hover{background-color:rgba(4,66,98,.05);border-color:#044262}.dark-mode .edit-item-config__show-more-toggle:hover{background-color:rgba(4,66,98,.1)}.edit-item-config__filters-panel{padding:12px}.edit-item-config__filters-list{display:flex;flex-direction:column;gap:8px}.edit-item-config__filter-group{background-color:#f7f7f7}.dark-mode .edit-item-config__filter-group{background-color:#212432}.edit-item-config__filter-row{display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px}.edit-item-config__filter-field{flex:1;min-width:120px}.edit-item-config__filter-operator{flex:0 0 120px}.edit-item-config__filter-value{flex:1;min-width:100px}.edit-item-config__filter-input{width:100%;padding:6px 10px;border:1px solid #e8e8e8;border-radius:4px;font-size:.8125rem;background-color:#fff;color:#333;height:30px}.edit-item-config__filter-input:focus{outline:none;border-color:#044262;box-shadow:0 0 0 2px rgba(4,66,98,.1)}.edit-item-config__filter-input::placeholder{color:#4f5b63}.dark-mode .edit-item-config__filter-input{background-color:#171923;border-color:#2b363c;color:#fff}.dark-mode .edit-item-config__filter-input::placeholder{color:#7d8b97}.dark-mode .edit-item-config__filter-input:focus{border-color:#044262;box-shadow:0 0 0 2px rgba(4,66,98,.2)}.edit-item-config__filter-remove{flex:0 0 auto;cursor:pointer;opacity:.6;transition:opacity .15s ease}.edit-item-config__filter-remove:hover{opacity:1}.metric-domain-filter>div{display:flex !important;width:100%}.metric-domain-filter .title-options-primary-options{display:flex;width:100%}.metric-domain-filter .title-option__button{flex:1;text-align:center}",""]);const l=a;r.d(t,["A",0,l])},80843(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());
1a.push([e.id,".edit-item-modal__footer{background:#fff;border-top:1px solid #e8e8e8;display:flex;justify-content:flex-end;padding-top:1rem;padding-bottom:1rem;position:sticky;bottom:0;gap:1rem}.dark-mode .edit-item-modal__footer{background:#1e212e;border-top-color:#555}.edit-item-modal .preview-container{height:min(450px,80vh - 410px);display:flex;flex-direction:column}.edit-item-modal .preview-container-table{overflow:hidden}.edit-item-modal .preview-container .preview-content{flex:1 1 100%;display:flex;flex-direction:column;justify-content:stretch}.edit-item-modal .preview-container .preview-content-table{overflow:hidden}",""]);const l=a;r.d(t,["A",0,l])},43384(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".stat-options-primary-options{background:#dcdcdc;line-height:1em;border-radius:4px;display:inline-flex;align-items:stretch}.dark-mode .stat-options-primary-options{background-color:#393f54}.stat-option__button-container{background:#fbfbfb;border:1px solid #e8e8e8;color:#787878;border-right-width:0px;font-size:13px;vertical-align:middle;padding:4px 6px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:.25rem}.dark-mode .stat-option__button-container{background-color:#171923;border-color:#f7f7f7}.stat-option__button-container .stat-option__button{border:none;background:rgba(0,0,0,0);color:inherit;padding:0;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:space-between}.stat-option__button-container .stat-option__button:focus{outline:none}.stat-option__button-container .stat-option__button:focus-visible{outline:5px auto #145fcc;outline-offset:1px}.stat-option__button-container .stat-option__button::after{content:attr(data-text);height:0;visibility:hidden;overflow:hidden;user-select:none;pointer-events:none;font-weight:600}.stat-option__button-container:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.stat-option__button-container:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px;border-right-width:1px}.dark-mode .stat-option__button-container{background-color:#393f54;border-color:#393f54;color:#c7c7c7}.stat-option__button-container:hover,.stat-option__button-container--active,.stat-option__button-container--toggle-active{color:blue}.stat-option__button-container:hover .stat-option__button,.stat-option__button-container--active .stat-option__button,.stat-option__button-container--toggle-active .stat-option__button{color:#3a4044;font-weight:600}.dark-mode .stat-option__button-container:hover .stat-option__button,.dark-mode .stat-option__button-container--active .stat-option__button,.dark-mode .stat-option__button-container--toggle-active .stat-option__button{color:#fff}",""]);const l=a;r.d(t,["A",0,l])},43913(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".dashboard-control-bar{gap:6px;justify-content:flex-end}.dashboard-control-bar__divider{width:1px;height:20px;background-color:var(--color-border, #dde1e7);flex-shrink:0}.dashboard-control-bar__filter-toggle{display:flex;align-items:center;gap:.5rem}.dashboard-filters{display:flex;flex-direction:column;gap:1rem;flex:1}.dashboard-filters__row{display:flex;flex-direction:column;gap:.25rem}.save-filters-button{appearance:none;background:rgba(0,0,0,0);border:1px solid #ddd;border-radius:4px;color:inherit;font:inherit;line-height:1.25em;padding:4px 10px;cursor:pointer;display:inline-flex;align-items:center}.save-filters-button:hover:not(:disabled){background:rgba(0,0,0,.04);border-color:#c4c4c4}.save-filters-button:disabled{cursor:default}.dark-mode .save-filters-button{border-color:rgba(255,255,255,.2)}.dark-mode .save-filters-button:hover:not(:disabled){background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.35)}",""]);const l=a;r.d(t,["A",0,l])},12089(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".example-finder__load-more{padding:4px}.example-finder__load-more:hover{background:blue;color:#fff}",""]);const l=a;r.d(t,["A",0,l])},93538(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());
1a.push([e.id,"@media screen and (max-width: 800px){.page-screenshot img{margin:auto;display:block}}@media screen and (min-width: 801px){.page-screenshot{width:128px;height:80px;text-align:center;flex-shrink:0}}.page-screenshot__inner{margin:auto}@media screen and (min-width: 801px){.page-screenshot--small{width:76px;height:48px}}.page-screenshot img{border-radius:4px;overflow:hidden;box-shadow:0 0 5px #c7c7c7;font-size:8px}.dark-mode .page-screenshot img{box-shadow:0 0 5px #555}",""]);const l=a;r.d(t,["A",0,l])},34945(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".space-children-2>*+*{margin-top:.5rem}.page-screenshot-with-actions{position:relative}.page-screenshot-with-actions__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.page-screenshot-with-actions__action{display:flex;color:#fff;opacity:.8;cursor:pointer}.page-screenshot-with-actions__action:hover{color:#fff;opacity:1}.page-screenshot-with-actions__action+.page-screenshot-with-actions__action{margin-left:.5rem}.page-screenshot-with-actions--small .page-screenshot-with-actions__action+.page-screenshot-with-actions__action{margin-left:.25rem}",""]);const l=a;r.d(t,["A",0,l])},37106(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".api-key:hover{background:#f5f5f5}",""]);const l=a;r.d(t,["A",0,l])},14656(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".project-crux-history__p75-chart-wrapper{position:relative;overflow:hidden}@media screen and (max-width: 1030px){.project-crux-history__chart-columns{flex-wrap:wrap;row-gap:15px}}.project-crux-history__histogram-chart-wrapper{position:relative;overflow:hidden;display:flex;flex-direction:column;align-content:center;justify-content:center}.project-crux-history__p75-chart-wrapper [data-highcharts-chart] svg,.project-crux-history__histogram-chart-wrapper [data-highcharts-chart] svg{border-bottom-left-radius:3px;border-bottom-right-radius:3px;overflow:hidden}.project-crux-history__p75-chart-wrapper,.project-crux-history__histogram-chart-wrapper,.project-crux-history__column-header{width:100%;flex-grow:1}.project-crux-history__p75-chart-wrapper:not(:last-child),.project-crux-history__histogram-chart-wrapper:not(:last-child),.project-crux-history__column-header:not(:last-child){margin-right:16px}@media screen and (max-width: 1030px){.project-crux-history__p75-chart-wrapper:not(:last-child),.project-crux-history__histogram-chart-wrapper:not(:last-child),.project-crux-history__column-header:not(:last-child){margin-right:0}}.project-crux-history__no-data-chart-placeholder{height:170px}",""]);const l=a;r.d(t,["A",0,l])},70681(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".project-crux-history-modal__form{max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.project-crux-history-modal__add-value-button{display:flex;align-items:center;transition-duration:500ms;transition-property:opacity}.project-crux-history-modal__add-value-button:hover{fill:#fff}.project-crux-history-modal--lab-value{margin:8px;cursor:pointer;background:#fff}.dark-mode .project-crux-history-modal--lab-value{background:rgba(255,255,255,.1);color:#fff}.project-crux-history-modal--lab-value>div{padding:12px;color:#333;box-shadow:0px 0px 2px #777;transition:all .3s ease}.dark-mode .project-crux-history-modal--lab-value>div{box-shadow:0px 0px 2px rgba(255,255,255,.2);color:#fff}.project-crux-history-modal--lab-value:hover>div{background:#f0f5f9}.dark-mode .project-crux-history-modal--lab-value:hover>div{background:rgba(255,255,255,.1)}.project-crux-history-modal--lab{max-height:350px;overflow:auto;border:1px solid #ccc;background:#eee}.dark-mode .project-crux-history-modal--lab{background:rgba(255,255,255,0);border:1px solid rgba(255,255,255,.1)}",""]);const l=a;r.d(t,["A",0,l])},72812(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".picker-list{border:1px solid #d1d5db;border-radius:6px;overflow:hidden}.dark-mode .picker-list{border-color:rgba(255,255,255,.18)}.picker-item{display:flex;align-items:center;width:100%;padding:12px 16px;background:rgba(0,0,0,0);border:none;border-bottom:1px solid #e5e7eb;color:inherit;cursor:pointer;transition:background .15s ease;text-align:left}.dark-mode .picker-item{border-bottom-color:rgba(255,255,255,.12)}.picker-item.picker-item--last{border-bottom:none}.picker-item:hover:not(:disabled){background:#eff6ff}.dark-mode .picker-item:hover:not(:disabled){background:rgba(255,255,255,.06)}.picker-item:disabled{cursor:not-allowed}.picker-item__content{display:flex;flex:1 1 0%}.picker-item__right{margin-left:1rem}",""]);const l=a;r.d(t,["A",0,l])},73695(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());
1a.push([e.id,"#project-pages-search-box{font-size:.75rem}#project-pages-search-box:focus{border-color:#e8e8e8}",""]);const l=a;r.d(t,["A",0,l])},79560(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,'.space-children-2>*+*{margin-top:.5rem}.pageloads__header{background-color:#f7f7f7;color:#7d8b97;flex-wrap:wrap;row-gap:.25rem;padding:15px}.pageloads__header .monitored-pages-title{row-gap:4px}.dark-mode .pageloads__header{background-color:#1e212e;color:#e5e5e5;border-bottom:none}.pageloads__header .monitored-pages-title h2{font-size:16px;color:#333}.dark-mode .pageloads__header .monitored-pages-title h2{color:#c7c7c7}@media print{.pageloads__header{background:rgba(0,0,0,0)}}.pageloads-table__row{border-top:1px solid #eee}.dark-mode .pageloads-table__row{border-color:rgba(255,255,255,.1)}.pageloads-table__item{color:#000;display:block;padding:15px 15px;border-top:1px solid #eee;position:relative}.dark-mode .pageloads-table__item{border-color:rgba(255,255,255,.1)}.pageloads-table__row .pageloads-table__item{border-top:none}.pageloads-table__item.pageloads-table__item--draggable:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;z-index:5}.pageloads-table__item:hover{text-decoration:none;background:#fafafa}.dark-mode .pageloads-table__item:hover{background-color:#2b363d}@media screen and (max-width: 800px){.pageloads-table__item h3{font-size:14px}}.pageloads-table--dimmed{opacity:.5}.pageloads-table h3{margin:0;font-weight:500;font-size:16px;margin-bottom:4px;color:#044262;text-overflow:ellipsis;overflow:hidden}.dark-mode .pageloads-table h3{color:#7d8b97}@media(max-width: 1000px){.pageloads-table .col-md-7{max-width:100%;flex:0 0 100%}}.pageloads-table__url{color:#7d8b97;font-size:13px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:1.1em}@media screen and (max-width: 800px){.pageloads-table__url{font-size:10px}}.dark-mode .pageloads-table__url{color:#c2ccd4}.pageloads-table-header__metric-button{display:flex;gap:.125rem;align-items:center;color:#7d8b97;text-transform:uppercase;font-size:11px;font-weight:400;letter-spacing:.05em;white-space:nowrap;cursor:pointer;line-height:1em;height:27px}.pageloads-table-header__metric-button:hover{color:#555}.pageloads-table-header__metric-button:hover .pageloads-table-header__sort-indicator:not(.pageloads-table-header__sort-indicator--sorted){display:block}.dark-mode .pageloads-table-header__metric-button{color:#f5f5f5}.dark-mode .pageloads-table-header__metric-button:hover{color:#e8e8e8}.pageloads-table-header__sort-indicator-container{position:relative}.pageloads-table-header__sort-indicator-container:not(.pageloads-table-header__sort-indicator-container--sorted)>*{position:absolute;left:-13px;top:-7px;background:#fff;box-shadow:-5px 0px 5px #fff}.dark-mode .pageloads-table-header__sort-indicator-container:not(.pageloads-table-header__sort-indicator-container--sorted)>*{background-color:rgba(0,0,0,0);box-shadow:none}.pageloads-table-header__sort-indicator-container.pageloads-table-header__sort-indicator-container--sorted>*{margin-top:-2px}.pageloads-table-header__sort-indicator{flex-shrink:0;display:none;transition:none}.pageloads-table-header__sort-indicator--sorted{display:block}.pageloads-table-header__metric-title{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.pageloads-table-header__metric-title--long{letter-spacing:0px;font-size:9px}.small-add-page-button{font-weight:bold}.project-top-right-button{flex-shrink:0;height:26px;width:26px;background:#fafafa;border:1px solid #ddd;color:#7e8c97;display:flex;text-align:center;line-height:26px;border-radius:4px;vertical-align:middle;cursor:pointer}.project-top-right-button svg{margin:auto}@media screen and (max-width: 1030px){.project-top-right-button{vertical-align:top}}.project-top-right-button:hover{text-decoration:none;color:#333}.project-top-right-button:focus{outline:none}.dark-mode .project-top-right-button{border-color:#393f54;background-color:#393f54;color:#7e8c97}.dark-mode .project-top-right-button:hover{color:#fff}.project-page-page-load{word-break:break-word;margin-right:0 !important}.project-page-page-load__wrapper{display:grid;padding-right:0px}@media screen and (min-width: 1031px){.project-page-page-load__wrapper{align-items:center}}.project-page-page-load__proposed-old{color:#e01d10;text-decoration:line-through}.dark-mode .project-page-page-load__proposed-old{color:#e45858}.project-page-page-load__proposed-new{color:#018642}.dark-mode .project-page-page-load__proposed-new{color:#29a938}.project-page-page-load__more-details-container{display:flex;flex-wrap:wrap;gap:.25rem .75rem;color:#7d8b97;margin-top:4px}.project-page-page-load__more-details-container>*{display:flex;align-items:center}.project-page-page-load__more-details-container>*>svg{margin-right:.25rem}@media(max-width: 800px){.project-page-page-load__more-details-container{display:none}}.project-page-page-load__actions-overlay{background-color:rgba(0,0,0,.75);opacity:0;transition:opacity 100ms ease-in-out;border-radius:4px}.project-page-page-load:hover .project-page-page-load__actions-overlay:not(.disable-overlay){opacity:1}.project-page-page-load__scores{display:flex;align-items:center;height:100%}@media(max-width: 1249px){.project-page-page-load__scores{flex-wrap:wrap;margin-top:4px;justify-content:flex-start}}@media(min-width: 1250px){.project-page-page-load__scores{justify-content:flex-end}}.project-page-page-load__metric-title{font-size:12px;margin-bottom:2px;margin-top:4px;font-weight:normal;color:#7d8b97;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%}@media(min-width: 1570px){.project-page-page-load__scores-heading{display:grid}}@media(max-width: 1569px){.project-page-page-load__scores-heading{display:none}}.project-page-page-load__scores-heading.editing{position:relative}.project-page-page-load__scores-heading.editing .deselect{position:absolute;
1left:30px;top:0;bottom:0}.project-page-page-load__scores-heading-container{position:sticky;top:0;z-index:1;padding:0;margin-left:0;margin-right:0;background:#fff;border-top-left-radius:4px;border-top-right-radius:4px}.dark-mode .project-page-page-load__scores-heading-container{background-color:#1e212e;color:#fff}.project-page-page-load__scores-heading--sticky{box-shadow:0px 1px 3px #bbb}.dark-mode .project-page-page-load__scores-heading--sticky{box-shadow:0px 1px 3px #2c2c2c}.project-page-page-load__metric{display:flex;flex-direction:column;align-items:center}.project-page-page-load__metric>span{display:inline-block;border-radius:4px;line-height:18px;font-size:16px}.project-page-page-load__link{height:100%;display:flex;flex-direction:column;justify-content:center}.project-page-page-load__link:hover{text-decoration:none}.project-page-page-load__page-container{min-width:0}.project-page-page-load__page-name-container{display:flex;flex-direction:column;justify-content:center;min-width:0;text-overflow:ellipsis;flex:1}.pageloads-table--layout-compact .project-page-page-load__page-name-container{white-space:nowrap}.dark-mode .project-page-page-load__page-name-container h3{color:#fff}.pageloads-table__group-separator{border-bottom:1px solid #eee;margin-bottom:8px;padding-bottom:8px}.sortable-fallback{opacity:1 !important;background-color:#fff !important}.dark-mode .sortable-fallback{background-color:#1e212e !important}.sortable-ghost{opacity:.35 !important}.charts-count-1:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-1:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-1:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-1:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-1:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-1:not(.project-page-page-load__metric-title){align-items:center}.charts-count-1:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 1000px){.charts-count-1:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1300px){.charts-count-1:not(.project-page-page-load__metric-title){align-items:center}.charts-count-1:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 2000px){.charts-count-1:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1000px){.project-page-page-load__overview.charts-count-1{grid-template-columns:minmax(18rem, 1fr) repeat(1, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__overview.charts-count-1{grid-template-columns:minmax(28rem, 1fr) repeat(1, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__overview.charts-count-1{grid-template-columns:minmax(35rem, 1fr) repeat(1, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-1{grid-template-columns:minmax(calc(18rem + 76px), 1fr) repeat(1, minmax(50px, 140px))}}@media(min-width: 1300px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-1{grid-template-columns:minmax(calc(28rem + 76px), 1fr) repeat(1, minmax(50px, 140px))}}@media(min-width: 2000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-1{grid-template-columns:minmax(calc(35rem + 76px), 1fr) repeat(1, minmax(50px, 140px))}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-1{grid-template-columns:minmax(28rem, 1fr) repeat(1, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-1{grid-template-columns:minmax(28rem, 1fr) repeat(1, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-1{grid-template-columns:minmax(35rem, 1fr) repeat(1, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-1{display:none}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-1{display:none}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-1{display:none}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-1{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-1{display:grid}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-1{display:grid}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-1{display:grid}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-1{display:grid}}.charts-count-2:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-2:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-2:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-2:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-2:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-2:not(.project-page-page-load__metric-title){align-items:center}.charts-count-2:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 1000px){.charts-count-2:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1300px){.charts-count-2:not(.project-page-page-load__metric-title){align-items:center}.charts-count-2:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 2000px){.charts-count-2:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1000px){.project-page-page-load__overview.charts-count-2{grid-template-columns:minmax(18rem, 1fr) repeat(2, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__overview.charts-count-2{grid-template-columns:minmax(28rem, 1fr) repeat(2, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__overview.charts-count-2{grid-template-columns:minmax(35rem, 1fr) repeat(2, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-2{grid-template-columns:minmax(calc(18rem + 76px), 1fr) repeat(2, minmax(50px, 140px))}}@media(min-width: 1300px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-2{grid-template-columns:minmax(calc(28rem 
1+ 76px), 1fr) repeat(2, minmax(50px, 140px))}}@media(min-width: 2000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-2{grid-template-columns:minmax(calc(35rem + 76px), 1fr) repeat(2, minmax(50px, 140px))}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-2{grid-template-columns:minmax(28rem, 1fr) repeat(2, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-2{grid-template-columns:minmax(28rem, 1fr) repeat(2, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-2{grid-template-columns:minmax(35rem, 1fr) repeat(2, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-2{display:none}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-2{display:none}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-2{display:none}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-2{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-2{display:grid}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-2{display:grid}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-2{display:grid}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-2{display:grid}}.charts-count-3:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-3:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-3:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-3:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-3:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-3:not(.project-page-page-load__metric-title){align-items:center}.charts-count-3:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 1000px){.charts-count-3:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1300px){.charts-count-3:not(.project-page-page-load__metric-title){align-items:center}.charts-count-3:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 2000px){.charts-count-3:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1000px){.project-page-page-load__overview.charts-count-3{grid-template-columns:minmax(18rem, 1fr) repeat(3, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__overview.charts-count-3{grid-template-columns:minmax(28rem, 1fr) repeat(3, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__overview.charts-count-3{grid-template-columns:minmax(35rem, 1fr) repeat(3, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-3{grid-template-columns:minmax(calc(18rem + 76px), 1fr) repeat(3, minmax(50px, 140px))}}@media(min-width: 1300px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-3{grid-template-columns:minmax(calc(28rem + 76px), 1fr) repeat(3, minmax(50px, 140px))}}@media(min-width: 2000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-3{grid-template-columns:minmax(calc(35rem + 76px), 1fr) repeat(3, minmax(50px, 140px))}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-3{grid-template-columns:minmax(28rem, 1fr) repeat(3, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-3{grid-template-columns:minmax(28rem, 1fr) repeat(3, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-3{grid-template-columns:minmax(35rem, 1fr) repeat(3, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-3{display:none}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-3{display:none}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-3{display:none}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-3{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-3{display:grid}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-3{display:grid}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-3{display:grid}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-3{display:grid}}.charts-count-4:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-4:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-4:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-4:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-4:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-4:not(.project-page-page-load__metric-title){align-items:center}.charts-count-4:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 1000px){.charts-count-4:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1300px){.charts-count-4:not(.project-page-page-load__metric-title){align-items:center}.charts-count-4:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 2000px){.charts-count-4:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1000px){.project-page-page-load__overview.charts-count-4{grid-template-columns:minmax(18rem, 1fr) repeat(4, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__overview.charts-count-4{grid-template-columns:minmax(28rem, 1fr) repeat(4, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__overview.charts-count-4{grid-template-columns:minmax(35rem, 1fr) repeat(4, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-4{grid-template-columns:minmax(calc(18rem + 76px), 1fr) repeat(4, minmax(50px, 140px))}}@media(min-width: 1300px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-4{grid-template-columns:minmax(calc(28rem 
1+ 76px), 1fr) repeat(4, minmax(50px, 140px))}}@media(min-width: 2000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-4{grid-template-columns:minmax(calc(35rem + 76px), 1fr) repeat(4, minmax(50px, 140px))}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-4{grid-template-columns:minmax(28rem, 1fr) repeat(4, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-4{grid-template-columns:minmax(28rem, 1fr) repeat(4, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-4{grid-template-columns:minmax(35rem, 1fr) repeat(4, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-4{display:none}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-4{display:none}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-4{display:none}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-4{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-4{display:grid}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-4{display:grid}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-4{display:grid}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-4{display:grid}}.charts-count-5:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-5:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-5:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-5:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-5:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-5:not(.project-page-page-load__metric-title){align-items:start}.charts-count-5:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 1000px){.charts-count-5:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1300px){.charts-count-5:not(.project-page-page-load__metric-title){align-items:center}.charts-count-5:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 2000px){.charts-count-5:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1000px){.project-page-page-load__overview.charts-count-5{grid-template-columns:minmax(18rem, 1fr) repeat(5, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__overview.charts-count-5{grid-template-columns:minmax(28rem, 1fr) repeat(5, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__overview.charts-count-5{grid-template-columns:minmax(35rem, 1fr) repeat(5, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-5{grid-template-columns:minmax(calc(18rem + 76px), 1fr) repeat(5, minmax(50px, 140px))}}@media(min-width: 1300px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-5{grid-template-columns:minmax(calc(28rem + 76px), 1fr) repeat(5, minmax(50px, 140px))}}@media(min-width: 2000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-5{grid-template-columns:minmax(calc(35rem + 76px), 1fr) repeat(5, minmax(50px, 140px))}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-5{grid-template-columns:minmax(28rem, 1fr) repeat(5, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-5{grid-template-columns:minmax(28rem, 1fr) repeat(5, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-5{grid-template-columns:minmax(35rem, 1fr) repeat(5, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-5{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-5{display:none}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-5{display:none}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-5{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-5{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-5{display:grid}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-5{display:grid}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-5{display:grid}}.charts-count-6:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-6:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-6:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-6:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-6:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-6:not(.project-page-page-load__metric-title){align-items:start}.charts-count-6:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 1000px){.charts-count-6:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1300px){.charts-count-6:not(.project-page-page-load__metric-title){align-items:center}.charts-count-6:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 2000px){.charts-count-6:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1000px){.project-page-page-load__overview.charts-count-6{grid-template-columns:minmax(18rem, 1fr) repeat(6, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__overview.charts-count-6{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__overview.charts-count-6{grid-template-columns:minmax(35rem, 1fr) repeat(6, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-6{grid-template-columns:minmax(calc(18rem + 76px), 1fr) repeat(6, minmax(50px, 140px))}}@media(min-width: 1300px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-6{grid-template-columns:minmax(calc(28rem 
1+ 76px), 1fr) repeat(6, minmax(50px, 140px))}}@media(min-width: 2000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-6{grid-template-columns:minmax(calc(35rem + 76px), 1fr) repeat(6, minmax(50px, 140px))}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-6{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-6{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-6{grid-template-columns:minmax(35rem, 1fr) repeat(6, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-6{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-6{display:none}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-6{display:none}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-6{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-6{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-6{display:grid}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-6{display:grid}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-6{display:grid}}.charts-count-7:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}@media(min-width: 1000px)and (max-width: 1500px){.charts-count-7:not(.project-page-page-load__metric-title){gap:.25rem}}.charts-count-7:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-7:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-7:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-7:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-7:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-7:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-7:not(.project-page-page-load__metric-title){align-items:center}.charts-count-7:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 2000px){.charts-count-7:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1300px){.project-page-page-load__overview.charts-count-7{grid-template-columns:minmax(28rem, 1fr) repeat(7, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__overview.charts-count-7{grid-template-columns:minmax(35rem, 1fr) repeat(7, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-7{grid-template-columns:minmax(calc(28rem + 76px), 1fr) repeat(7, minmax(50px, 140px))}}@media(min-width: 2000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-7{grid-template-columns:minmax(calc(35rem + 76px), 1fr) repeat(7, minmax(50px, 140px))}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-7{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-7{grid-template-columns:minmax(28rem, 1fr) repeat(7, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-7{grid-template-columns:minmax(35rem, 1fr) repeat(7, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-7{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-7{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-7{display:none}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-7{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-7{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-7{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-7{display:grid}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-7{display:grid}}.charts-count-8:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}@media(min-width: 1000px)and (max-width: 1500px){.charts-count-8:not(.project-page-page-load__metric-title){gap:.25rem}}.charts-count-8:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-8:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-8:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-8:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-8:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-8:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-8:not(.project-page-page-load__metric-title){align-items:center}.charts-count-8:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 2000px){.charts-count-8:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1300px){.project-page-page-load__overview.charts-count-8{grid-template-columns:minmax(28rem, 1fr) repeat(8, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__overview.charts-count-8{grid-template-columns:minmax(35rem, 1fr) repeat(8, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-8{grid-template-columns:minmax(calc(28rem 
1+ 76px), 1fr) repeat(8, minmax(50px, 140px))}}@media(min-width: 2000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-8{grid-template-columns:minmax(calc(35rem + 76px), 1fr) repeat(8, minmax(50px, 140px))}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-8{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-8{grid-template-columns:minmax(28rem, 1fr) repeat(8, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-8{grid-template-columns:minmax(35rem, 1fr) repeat(8, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-8{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-8{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-8{display:none}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-8{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-8{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-8{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-8{display:grid}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-8{display:grid}}.charts-count-9:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-9:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-9:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-9:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-9:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-9:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-9:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-9:not(.project-page-page-load__metric-title){align-items:center}.charts-count-9:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 2000px){.charts-count-9:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1300px){.project-page-page-load__overview.charts-count-9{grid-template-columns:minmax(28rem, 1fr) repeat(9, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__overview.charts-count-9{grid-template-columns:minmax(35rem, 1fr) repeat(9, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-9{grid-template-columns:minmax(calc(28rem + 76px), 1fr) repeat(9, minmax(50px, 140px))}}@media(min-width: 2000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-9{grid-template-columns:minmax(calc(35rem + 76px), 1fr) repeat(9, minmax(50px, 140px))}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-9{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-9{grid-template-columns:minmax(28rem, 1fr) repeat(9, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-9{grid-template-columns:minmax(35rem, 1fr) repeat(9, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-9{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-9{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-9{display:none}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-9{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-9{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-9{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-9{display:grid}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-9{display:grid}}.charts-count-10:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-10:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-10:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-10:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-10:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-10:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-10:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-10:not(.project-page-page-load__metric-title){align-items:center}.charts-count-10:not(.project-page-page-load__metric-title)>*:first-child{grid-column:auto}}@media(min-width: 2000px){.charts-count-10:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1300px){.project-page-page-load__overview.charts-count-10{grid-template-columns:minmax(28rem, 1fr) repeat(10, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__overview.charts-count-10{grid-template-columns:minmax(35rem, 1fr) repeat(10, minmax(50px, 140px));grid-template-rows:repeat(1, auto)}}@media(min-width: 1300px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-10{grid-template-columns:minmax(calc(28rem 
1+ 76px), 1fr) repeat(10, minmax(50px, 140px))}}@media(min-width: 2000px){.project-page-page-load__scores-heading.editing.project-page-page-load__overview.charts-count-10{grid-template-columns:minmax(calc(35rem + 76px), 1fr) repeat(10, minmax(50px, 140px))}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-10{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-10{grid-template-columns:minmax(28rem, 1fr) repeat(10, minmax(50px, 100px));grid-template-rows:repeat(1, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-10{grid-template-columns:minmax(35rem, 1fr) repeat(10, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-10{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-10{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-10{display:none}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-10{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-10{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-10{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-10{display:grid}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-10{display:grid}}.charts-count-11:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-11:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-11:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-11:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-11:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-11:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-11:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-11:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 2000px){.charts-count-11:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-11{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-11{grid-template-columns:minmax(28rem, 1fr) repeat(10, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-11{grid-template-columns:minmax(35rem, 1fr) repeat(11, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-11{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-11{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-11{display:block}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-11{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-11{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-11{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-11{display:none}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-11{display:grid}}.charts-count-12:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-12:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-12:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-12:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-12:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-12:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-12:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-12:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 2000px){.charts-count-12:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-12{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-12{grid-template-columns:minmax(28rem, 1fr) repeat(10, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-12{grid-template-columns:minmax(35rem, 1fr) repeat(12, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-12{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-12{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-12{display:block}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-12{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-12{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-12{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-12{display:none}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-12{display:grid}}.charts-count-13:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-13:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-13:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-13:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-13:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-13:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-13:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-13:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 2000px){.charts-count-13:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-13{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(3, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-13{grid-template-columns:minmax(28rem, 1fr) repeat(10, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-13{grid-template-columns:minmax(35rem, 1fr) repeat(13, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-13{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-13{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-13{display:block}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-13{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-13{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-13{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-13{display:none}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-13{display:grid}}.charts-count-14:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-14:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-14:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-14:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-14:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-14:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-14:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-14:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 2000px){.charts-count-14:not(.project-page-page-load__metric-title){align-items:center}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-14{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(3, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-14{grid-template-columns:minmax(28rem, 1fr) repeat(10, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-14{grid-template-columns:minmax(35rem, 1fr) repeat(14, minmax(50px, 100p4));grid-template-rows:repeat(1, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-14{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-14{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-14{display:block}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-14{display:none}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-14{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-14{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-14{display:none}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-14{display:grid}}.charts-count-15:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-15:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-15:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-15:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-15:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-15:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-15:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-15:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 2000px){.charts-count-15:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-15{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(3, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-15{grid-template-columns:minmax(28rem, 1fr) repeat(10, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-15{grid-template-columns:minmax(35rem, 1fr) repeat(14, minmax(50px, 100p4));grid-template-rows:repeat(2, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-15{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-15{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-15{display:block}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-15{display:block}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-15{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-15{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-15{display:none}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-15{display:none}}.charts-count-16:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-16:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-16:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-16:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-16:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-16:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-16:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-16:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 2000px){.charts-count-16:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-16{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(3, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-16{grid-template-columns:minmax(28rem, 1fr) repeat(10, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-16{grid-template-columns:minmax(35rem, 1fr) repeat(14, minmax(50px, 100p4));grid-template-rows:repeat(2, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-16{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-16{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-16{display:block}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-16{display:block}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-16{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-16{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-16{display:none}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-16{display:none}}
1.charts-count-17:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-17:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-17:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-17:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-17:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-17:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-17:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-17:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 2000px){.charts-count-17:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-17{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(3, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-17{grid-template-columns:minmax(28rem, 1fr) repeat(10, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-17{grid-template-columns:minmax(35rem, 1fr) repeat(14, minmax(50px, 100p4));grid-template-rows:repeat(2, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-17{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-17{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-17{display:block}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-17{display:block}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-17{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-17{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-17{display:none}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-17{display:none}}.charts-count-18:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-18:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-18:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-18:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-18:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-18:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-18:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-18:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 2000px){.charts-count-18:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-18{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(3, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-18{grid-template-columns:minmax(28rem, 1fr) repeat(10, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-18{grid-template-columns:minmax(35rem, 1fr) repeat(14, minmax(50px, 100p4));grid-template-rows:repeat(2, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-18{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-18{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-18{display:block}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-18{display:block}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-18{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-18{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-18{display:none}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-18{display:none}}.charts-count-19:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-19:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-19:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-19:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-19:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-19:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-19:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-19:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 2000px){.charts-count-19:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-19{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(4, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-19{grid-template-columns:minmax(28rem, 1fr) repeat(10, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-19{grid-template-columns:minmax(35rem, 1fr) repeat(14, minmax(50px, 100p4));grid-template-rows:repeat(2, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-19{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-19{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-19{display:block}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-19{display:block}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-19{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-19{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-19{display:none}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-19{display:none}}
1.charts-count-20:not(.project-page-page-load__metric-title){gap:1rem;grid-template-columns:repeat(2, 1fr)}.charts-count-20:not(.project-page-page-load__metric-title)>*:first-child{grid-column:1/-1}@media(min-width: 601px){.charts-count-20:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 801px){.charts-count-20:not(.project-page-page-load__metric-title){grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1031px){.charts-count-20:not(.project-page-page-load__metric-title){grid-template-columns:repeat(6, 1fr)}}@media(min-width: 1000px){.charts-count-20:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.charts-count-20:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1300px){.charts-count-20:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 2000px){.charts-count-20:not(.project-page-page-load__metric-title){align-items:start}}@media(min-width: 1000px){.project-page-page-load__trends.charts-count-20{grid-template-columns:minmax(28rem, 1fr) repeat(6, minmax(50px, 100px));grid-template-rows:repeat(4, auto)}}@media(min-width: 1300px){.project-page-page-load__trends.charts-count-20{grid-template-columns:minmax(28rem, 1fr) repeat(10, minmax(50px, 100px));grid-template-rows:repeat(2, auto)}}@media(min-width: 2000px){.project-page-page-load__trends.charts-count-20{grid-template-columns:minmax(35rem, 1fr) repeat(14, minmax(50px, 100p4));grid-template-rows:repeat(2, auto)}}@media(min-width: 1101px){.project-page-page-load__metric-title.charts-count-20{display:block}}@media(min-width: 1000px){.project-page-page-load__metric-title.charts-count-20{display:block}}@media(min-width: 1300px){.project-page-page-load__metric-title.charts-count-20{display:block}}@media(min-width: 2000px){.project-page-page-load__metric-title.charts-count-20{display:block}}@media(min-width: 1101px){.project-page-page-load__scores-heading.charts-count-20{display:none}}@media(min-width: 1000px){.project-page-page-load__scores-heading.charts-count-20{display:none}}@media(min-width: 1300px){.project-page-page-load__scores-heading.charts-count-20{display:none}}@media(min-width: 2000px){.project-page-page-load__scores-heading.charts-count-20{display:none}}.report-score-box{border-bottom:1px solid #eee;background:#fafafa}.dark-mode .report-score-box{background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.pageloads-table--layout-table .pageloads-table__item{padding:6px 15px}.pageloads-table--layout-table .page-screenshot{width:36px !important;height:20px !important;flex-shrink:0;display:flex !important;align-items:center;justify-content:center}.pageloads-table--layout-table .page-screenshot img{height:20px !important;width:auto !important;border-radius:2px;display:block;margin:0 auto}.pageloads-table--layout-table h3{font-size:14px;margin-bottom:0}.pageloads-table--layout-table .trendline{display:none}.pageloads-table--layout-table .project-page-page-load__metric{text-align:right;align-items:flex-end}.pageloads-table--layout-table .pageloads-table-header__metric-button{justify-content:flex-end}',""]);const l=a;r.d(t,["A",0,l])},90566(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".dark-mode .quick-test-started-confirmation{color:var(--trendImproving) !important}",""]);const l=a;r.d(t,["A",0,l])},32289(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".team-table__item{padding-top:5px;padding-bottom:5px;border-top:1px solid #eee}",""]);const l=a;r.d(t,["A",0,l])},32702(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".trendline{display:flex;width:100%}.trendline__no-data-for-most-recent-period div.trendline__outer-bar:last-of-type{display:none}.trendline__outer-bar{width:100%;vertical-align:top;line-height:1em;display:inline-flex;overflow:hidden}.trendline__middle-bar{width:100%;margin-right:2px;display:flex;vertical-align:top;background:#eee;border-top-left-radius:2px;border-top-right-radius:2px}.dark-mode .trendline__middle-bar{background-color:#1a415f}.trendline__inner-bar{display:inline-block;width:100%;vertical-align:bottom;place-self:flex-end;border-top-left-radius:2px;border-top-right-radius:2px}.mini-trendline{height:16px;flex-shrink:0;margin-right:6px}",""]);const l=a;r.d(t,["A",0,l])},6227(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());
1a.push([e.id,"@media print{.project-rum .bg-grey7{background-color:rgba(0,0,0,0) !important}}",""]);const l=a;r.d(t,["A",0,l])},66039(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".copy-rum-snippet-button{background:rgba(0,0,0,0);border:1px solid #555;margin-left:16px;display:flex;flex-shrink:0;border-radius:4px;align-items:center;opacity:.65;padding:6px 12px;width:95px;cursor:pointer}.copy-rum-snippet-button:hover{opacity:1}.dark-mode .copy-rum-snippet-button{border:1px solid #1e212e;color:#fff}.dark-mode .copy-rum-snippet-button:hover{background:#1e212e;color:#fff}.rum-code-snippet.extended{width:80%;max-width:700px;align-self:center;text-align:center}.rum-code-snippet.extended .page-content-container__header{justify-content:center}.code-snippet{background:#fbfbfb;border:1px solid #e3e3e3}.dark-mode .code-snippet{background:#171923;color:#fff;border:1px solid #1e212e}.rum-setup-saved-check{color:#1a8755}.dark-mode .rum-setup-saved-check{color:#86efac}",""]);const l=a;r.d(t,["A",0,l])},63071(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".confirm-presampling-alert{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}",""]);const l=a;r.d(t,["A",0,l])},95187(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".rum-filters-toggle{display:flex;align-items:center;text-transform:uppercase;font-size:12px;line-height:12px;color:#0d6b9d;font-weight:bold;padding:0;margin:0;border:none;background:rgba(0,0,0,0);cursor:pointer;border-bottom:1px solid #e3e3e3}.rum-filters-toggle__icon{margin-right:4px}.rum-filters-toggle__arrow{margin-left:4px;color:#7e8c97}.rum-filters-not-metrics{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;row-gap:8px}.rum-filters-entries{display:flex;flex-direction:row;align-items:center;margin-bottom:8px}.rum-filters-entry{flex-grow:1;flex-shrink:1;display:flex;align-items:flex-start;margin-left:-7px;margin-right:-8px}.rum-filters-entry label{margin-top:0}",""]);const l=a;r.d(t,["A",0,l])},56918(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".optimize-tab__step-number{border-radius:20px;width:20px;height:20px;text-align:center;line-height:1em;font-size:13px;padding-top:3px;color:#fff;font-weight:bold}",""]);const l=a;r.d(t,["A",0,l])},72361(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".rum-elements__element-title{font-weight:400 !important}.rum-elements__element-title a{color:#333 !important}",""]);const l=a;r.d(t,["A",0,l])},3535(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".rum-trend-chart-container svg{border-bottom-right-radius:3px;border-bottom-left-radius:3px}",""]);const l=a;r.d(t,["A",0,l])},59815(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".page-groups__header{border-bottom:1px solid #eee}.dark-mode .page-groups__header{border-bottom:solid 1px rgba(255,255,255,.2)}.page-groups__item{border-bottom:1px solid #eee}.dark-mode .page-groups__item{border-bottom:solid 1px rgba(255,255,255,.2)}.page-group__details-container{border-top:1px solid #eee;background:#fafafa}.dark-mode .page-group__details-container{border-top:solid 1px rgba(255,255,255,.2);background:#1e212e}",""]);const l=a;r.d(t,["A",0,l])},14045(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".space-children-2>*+*{margin-top:.5rem}.rum-budget-form .alert-metric-item{display:flex;align-items:center;gap:.5rem;margin-top:0px}.rum-budget-form__label{display:flex;align-items:center;margin-top:0}.rum-budget-form input[type=number],.rum-budget-form input[type=text]{padding:.5rem;border:1px solid #e8e8e8;border-radius:4px}.dark-mode .rum-budget-form input[type=number],.dark-mode .rum-budget-form input[type=text]{border-color:rgba(255,255,255,.2)}.rum-budget-form .gap-2{gap:.5rem}",""]);const l=a;r.d(t,["A",0,l])},16504(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".compact-expanded-toggle{display:flex;flex-direction:column}.compact-expanded-toggle__section-title{font-weight:600;font-size:10px;padding:8px 15px;color:#787878;text-transform:uppercase;background:#fafafa;border-bottom:1px solid #eee;border-top:1px solid #eee}.compact-expanded-toggle__section-title:first-child{border-top:none;border-top-left-radius:4px;border-top-right-radius:4px}.dark-mode .compact-expanded-toggle__section-title{color:#c7c7c7;background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.08)}
1.compact-expanded-toggle__option{display:flex;align-items:center;gap:16px;width:100%;padding:12px 16px;border:none;border-radius:0;background:rgba(0,0,0,0);cursor:pointer;font-size:13px;color:#787878;text-align:left}.compact-expanded-toggle__option:hover{background:#f2f2f2}.dark-mode .compact-expanded-toggle__option:hover{background:rgba(255,255,255,.08)}.compact-expanded-toggle__option--active{background-color:#eff6ff;color:#085983;font-weight:500}.dark-mode .compact-expanded-toggle__option--active{background:#303343;color:#fff}.compact-expanded-toggle__option--active:hover{background-color:#eff6ff}.dark-mode .compact-expanded-toggle__option--active:hover{background:#303343}.dark-mode .compact-expanded-toggle__option{color:#c7c7c7}.compact-expanded-toggle__icon{display:flex;align-items:center;flex-shrink:0}.compact-expanded-toggle__icon svg{height:16px;width:16px}.compact-expanded-toggle__label{white-space:nowrap}.compact-expanded-toggle__check{margin-left:auto;flex-shrink:0}.compact-expanded-toggle:last-child .compact-expanded-toggle__option:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}",""]);const l=a;r.d(t,["A",0,l])},21291(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".page-filter-preview{font-size:13px}.page-filter-preview__tooltip ol{margin:0;padding:0;list-style-position:inside}.page-filter-preview__tooltip-more{font-style:italic}.page-filter-preview__page-count{color:#2e67a3}",""]);const l=a;r.d(t,["A",0,l])},13017(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".page-tag{display:inline-block;padding:2px 6px;line-height:1em;background:#f0f0f0;color:#777;border-radius:4px;margin-right:4px;font-size:12px;font-weight:bold}.dark-mode .page-tag{background:rgba(255,255,255,.1);color:#fff}.page-tag--is-removed{color:red;text-decoration:line-through}.page-tag--is-added{color:green}",""]);const l=a;r.d(t,["A",0,l])},12930(e,t,r){var n=r(31601),i=r.n(n),o=r(76314),a=r.n(o)()(i());a.push([e.id,".skeleton-chart{background:rgba(135,183,208,.2);border-radius:.25rem;width:100%;height:100%}.skeleton-chart .column{animation-name:columnLoad;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:infinite;animation-fill-mode:forwards}.skeleton-chart .column-1{animation-duration:1s}.skeleton-chart .column-2{animation-duration:1.5s}.skeleton-chart .column-3{animation-duration:1.2s}.skeleton-chart .column-4{animation-duration:1.4s}@keyframes columnLoad{0%{stroke-dashoffset:0%}50%{stroke-dashoffset:-15%}100%{stroke-dashoffset:0%}}",""]);const l=a;r.d(t,["A",0,l])},16491(e,t,r){var n=r(85072),i=r.n(n),o=r(97825),a=r.n(o),l=r(77659),s=r.n(l),c=r(55056),d=r.n(c),u=r(10540),m=r.n(u),p=r(41113),g=r.n(p),h=r(79560),f={};f.styleTagTransform=g(),f.setAttributes=d(),f.insert=s().bind(null,"head"),f.domAPI=a(),f.insertStyleElement=m(),i()(h.A,f),h.A&&h.A.locals&&h.A.locals}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.