@spotify/backstage-plugin-soundcheck 0.12.5 → 0.12.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/alpha/package.json +1 -1
- package/dist/alpha.esm.js +1 -1
- package/dist/esm/{Card-vZfqBdPF.esm.js → Card-BU6-9YfF.esm.js} +2 -2
- package/dist/esm/{CertificationSidebar-C30Mjkwu.esm.js → CertificationSidebar-DB4UqW7X.esm.js} +2 -2
- package/dist/esm/EmptyState-C2zsaDrr.esm.js +2 -0
- package/dist/esm/{EntitySoundcheckContent-BmaeLIQd.esm.js → EntitySoundcheckContent-DAnk6B9A.esm.js} +2 -2
- package/dist/esm/{OverviewPageContent-CPFc3uxO.esm.js → OverviewPageContent-CBL-e1xr.esm.js} +2 -2
- package/dist/esm/{RefetchingIndicator-ByFQ51Yf.esm.js → RefetchingIndicator-BrP7yEiB.esm.js} +2 -2
- package/dist/esm/{index-BRFmOf2o.esm.js → index-1faKkIS7.esm.js} +2 -2
- package/dist/esm/{index-BTsWDy95.esm.js → index-B3L_axCg.esm.js} +2 -2
- package/dist/esm/index-Otz7FNIb.esm.js +2 -0
- package/dist/images/GitHub_Logo.svg +9 -0
- package/dist/images/GitHub_Logo_White.svg +9 -0
- package/dist/images/SCM_DARK.svg +10 -0
- package/dist/images/SCM_LIGHT.svg +10 -0
- package/dist/images/cat-blk.svg +12 -0
- package/dist/images/cat-wht.svg +12 -0
- package/dist/images/dd_logo_h_rgb.svg +17 -0
- package/dist/images/dd_logo_h_white.svg +17 -0
- package/dist/images/pd-black.svg +9 -0
- package/dist/images/pd-white.svg +9 -0
- package/dist/images/soundcheck-black.svg +13 -0
- package/dist/images/soundcheck-white.svg +13 -0
- package/dist/images/tech-black.svg +11 -0
- package/dist/images/tech-white.svg +11 -0
- package/dist/index.esm.js +1 -1
- package/package.json +1 -1
- package/dist/esm/EmptyState-B61uP7xJ.esm.js +0 -2
- package/dist/esm/index-C8Ny_Z7p.esm.js +0 -2
- package/dist/images/catalog.svg +0 -1
- package/dist/images/git-dark.svg +0 -1
- package/dist/images/git.svg +0 -4
- package/dist/images/github-dark.svg +0 -1
- package/dist/images/github-light.svg +0 -1
- package/dist/images/pagerduty-dark.png +0 -0
- package/dist/images/pagerduty.svg +0 -3
- package/dist/images/soundcheck.png +0 -0
- package/dist/images/tech_insights.png +0 -0
package/CHANGELOG.md
CHANGED
package/alpha/package.json
CHANGED
package/dist/alpha.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createApiExtension as i,createApiFactory as u,discoveryApiRef as d,fetchApiRef as p,createPageExtension as c,createNavItemExtension as s,createPlugin as m}from"@backstage/frontend-plugin-api";import{s as h,S as l,e as f,g as R,r as a,o as k}from"./esm/routes-DcGwdXHX.esm.js";import{convertLegacyRouteRef as t,compatWrapper as o}from"@backstage/core-compat-api";import{createEntityContentExtension as r,createEntityCardExtension as g}from"@backstage/plugin-catalog-react/alpha";import n from"react";import v from"@material-ui/icons/DoneAll";import"@backstage/core-plugin-api";import"graphql-request";import"graphql-tag";const y=i({factory:u({api:h,deps:{discoveryApi:d,fetchApi:p},factory:e=>new l(e)})}),E=r({defaultPath:"soundcheck",defaultTitle:"Soundcheck",name:"entity",routeRef:t(f),loader:()=>import("./esm/EntitySoundcheckContent-
|
|
1
|
+
import{createApiExtension as i,createApiFactory as u,discoveryApiRef as d,fetchApiRef as p,createPageExtension as c,createNavItemExtension as s,createPlugin as m}from"@backstage/frontend-plugin-api";import{s as h,S as l,e as f,g as R,r as a,o as k}from"./esm/routes-DcGwdXHX.esm.js";import{convertLegacyRouteRef as t,compatWrapper as o}from"@backstage/core-compat-api";import{createEntityContentExtension as r,createEntityCardExtension as g}from"@backstage/plugin-catalog-react/alpha";import n from"react";import v from"@material-ui/icons/DoneAll";import"@backstage/core-plugin-api";import"graphql-request";import"graphql-tag";const y=i({factory:u({api:h,deps:{discoveryApi:d,fetchApi:p},factory:e=>new l(e)})}),E=r({defaultPath:"soundcheck",defaultTitle:"Soundcheck",name:"entity",routeRef:t(f),loader:()=>import("./esm/EntitySoundcheckContent-DAnk6B9A.esm.js").then(e=>o(n.createElement(e.EntitySoundcheckContent,null)))}),P=g({name:"card",loader:()=>import("./esm/index-B3L_axCg.esm.js").then(e=>o(n.createElement(e.EntitySoundcheckCard,null)))}),S=r({defaultPath:"soundcheck",defaultTitle:"Soundcheck",name:"group",routeRef:t(R),attachTo:{id:"page:catalog/group-details",input:"contents"},loader:()=>import("./esm/index-1faKkIS7.esm.js").then(e=>o(n.createElement(e.FixedGroupOverviewPage,null)))}),A=c({name:"SoundcheckRoutingPage",namespace:"soundcheck",routeRef:t(a),defaultPath:"/soundcheck",loader:()=>import("./esm/index-Otz7FNIb.esm.js").then(e=>o(n.createElement(e.RoutingPage,null)))}),x=c({name:"overview",namespace:"soundcheck",routeRef:t(k),defaultPath:"/soundcheck",loader:()=>import("./esm/index-1faKkIS7.esm.js").then(e=>o(n.createElement(e.OverviewPage,null)))}),C=s({title:"Soundcheck",icon:v,routeRef:t(a)});var w=m({id:"soundcheck",extensions:[A,x,y,E,P,S,C]});export{w as default};
|
|
2
2
|
//# sourceMappingURL=alpha.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Link as h,InfoCard as C}from"@backstage/core-components";import{useRouteRef as p}from"@backstage/core-plugin-api";import{useEntity as S}from"@backstage/plugin-catalog-react";import{Divider as I}from"@material-ui/core";import L from"@material-ui/core/styles/makeStyles";import{SpotifyLicenseBanner as R}from"@spotify/backstage-plugin-core";import e,{Fragment as b}from"react";import{g as f,a as w,b as D,d as N}from"./CertificationSidebar-
|
|
2
|
-
//# sourceMappingURL=Card-
|
|
1
|
+
import{Link as h,InfoCard as C}from"@backstage/core-components";import{useRouteRef as p}from"@backstage/core-plugin-api";import{useEntity as S}from"@backstage/plugin-catalog-react";import{Divider as I}from"@material-ui/core";import L from"@material-ui/core/styles/makeStyles";import{SpotifyLicenseBanner as R}from"@spotify/backstage-plugin-core";import e,{Fragment as b}from"react";import{g as f,a as w,b as D,d as N}from"./CertificationSidebar-DB4UqW7X.esm.js";import"@tanstack/react-query";import{b as A,a as P}from"./routes-DcGwdXHX.esm.js";import{A as x,a as B}from"./EmptyState-C2zsaDrr.esm.js";import"@backstage/catalog-model";import"react-router-dom";import{s as F,i as M}from"./license-CQErZDIh.esm.js";import"@material-ui/lab";const T=()=>e.createElement(e.Fragment,null,e.createElement(f,{hideDescription:!0}),e.createElement(f,{hideDescription:!0})),u=L(t=>({certificationWrapper:{display:"flex",justifyContent:"space-between",alignItems:"center"},infoCard:{display:"grid",gridRowGap:t.spacing(2)},emptyState:{overflow:"hidden"}})),o=({children:t,title:n})=>{const a=u();return e.createElement(C,{title:n},e.createElement("div",{className:a.infoCard},e.createElement(R,{inline:!0,backend:F,invalidLicenseMessage:M}),t))},W=(t,n)=>{var a,i;return(i=(a=t.find(l=>l.trackIds.some(m=>m===n)))==null?void 0:a.id)!=null?i:""},$=({title:t="Soundcheck"})=>{const{entity:n}=S(),a=u(),{data:i,isError:l,isLoading:m}=w(n),{data:c,isError:g,isLoading:E}=D(n),y=p(A),k=p(P);return l||g?e.createElement(o,{title:t},e.createElement(x,{severity:"error",title:"Error loading certifications"})):m||E||!i||!c?e.createElement(o,{title:t},e.createElement(T,null)):i.length?e.createElement(o,{title:t},i.map((r,v)=>{var s,d;return e.createElement(b,{key:r.program.name},e.createElement("div",{className:a.certificationWrapper,"data-testid":"soundcheck-track-row"},e.createElement(N,{key:r.program.id,name:r.program.name,badge:(s=r.highestLevel)==null?void 0:s.badge,trackType:(d=r.program)==null?void 0:d.type}),e.createElement(h,{to:r.program.type==="playlist"?k({playlistId:W(c,r.program.id),trackId:r.program.id}):y({trackId:r.program.id})},"View Details")),v<i.length-1?e.createElement(I,null):null)})):e.createElement(o,{title:t},e.createElement("div",{className:a.emptyState},e.createElement(B,null)))};export{$ as C};
|
|
2
|
+
//# sourceMappingURL=Card-BU6-9YfF.esm.js.map
|
package/dist/esm/{CertificationSidebar-C30Mjkwu.esm.js → CertificationSidebar-DB4UqW7X.esm.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{stringifyEntityRef as p}from"@backstage/catalog-model";import{useApi as g,useRouteRef as b}from"@backstage/core-plugin-api";import{useQuery as u}from"@tanstack/react-query";import{s as E,c as F,d as U}from"./routes-DcGwdXHX.esm.js";import{Q as C,C as P,L as S,N as H,b as Q,F as f,A as W}from"./EmptyState-
|
|
2
|
-
//# sourceMappingURL=CertificationSidebar-
|
|
1
|
+
import{stringifyEntityRef as p}from"@backstage/catalog-model";import{useApi as g,useRouteRef as b}from"@backstage/core-plugin-api";import{useQuery as u}from"@tanstack/react-query";import{s as E,c as F,d as U}from"./routes-DcGwdXHX.esm.js";import{Q as C,C as P,L as S,N as H,b as Q,F as f,A as W}from"./EmptyState-C2zsaDrr.esm.js";import{useEntity as $}from"@backstage/plugin-catalog-react";import{makeStyles as m,Tooltip as G,Typography as c,Box as M}from"@material-ui/core";import t from"react";import{Link as j}from"react-router-dom";import K from"classnames";import O from"@material-ui/icons/Schedule";import{useAutoUpdatingRelativeTime as _}from"@spotify/backstage-plugin-core";import{DateTime as N}from"luxon";import{MarkdownContent as y,Link as q}from"@backstage/core-components";import{Skeleton as o}from"@material-ui/lab";function J(e){const a=g(E),r=p(e);return u([C.Certifications,r],async()=>a.getAllCertifications(r))}function I(e,a){const r=g(E),l=p(e);return u([C.CertificationDetails,l,a],async()=>r.getCertificationDetailsForTrack(l,a),{enabled:!!a})}function V(e){const a=g(E),r=p(e);return u(["soundcheck/playlists",r],async()=>a.getPlaylists(r))}const X=m(e=>({root:{display:"inline-flex",alignItems:"center",gap:e.spacing(1)}})),T=({timestamp:e,description:a})=>{const r=X(),l=N.fromISO(e).toLocaleString(N.DATETIME_FULL),i=_(e),n=a?`${a}: ${i}`:void 0;return t.createElement("div",{className:r.root},t.createElement(G,{title:l},t.createElement(c,{variant:"caption","aria-label":n},i)),t.createElement(O,{fontSize:"small"}))},x=m(e=>({root:{display:"grid",width:"100%",gridTemplateColumns:"auto 1fr auto",gridColumnGap:e.spacing(1),padding:e.spacing(1),alignItems:"center","&.selected":{backgroundColor:e.palette.action.hover},"&:hover, &:active, &:focus":{backgroundColor:e.palette.action.hover}}})),Y=({className:e,href:a,children:r})=>a?t.createElement(j,{to:a,className:e},r):t.createElement("div",{className:e},r),Z=({result:e,name:a,timestamp:r,selected:l=!1,href:i})=>{const n=x(),d=K(n.root,{selected:l});return t.createElement(Y,{href:i,className:d},t.createElement(P,{result:e}),t.createElement(c,{variant:"body2"},a),r?t.createElement(T,{timestamp:r}):null)},ee=m(e=>({noChecks:{padding:e.spacing(1)},checks:{padding:0,margin:0,flex:1,listStyle:"none"},checkItem:{borderBottom:`1px solid ${e.palette.divider}`,"&:last-of-type":{borderBottom:"0"},color:e.palette.text.primary,"& a":{color:e.palette.text.primary,textDecoration:"none"}}})),te=({checks:e,playlistId:a,trackId:r,checkId:l})=>{const i=ee(),n=b(F),d=b(U);return e.length?t.createElement("ul",{className:i.checks},e.map(s=>t.createElement("li",{key:s.id,className:i.checkItem},t.createElement(Z,{...s,selected:s.id===l,href:a?d({playlistId:a,trackId:r,checkId:s.id}):n({trackId:r,checkId:s.id})})))):t.createElement(c,{variant:"body2",className:i.noChecks},"No applicable checks at this level.")},L=m(e=>({wrapper:{backgroundColor:e.palette.background.default,color:e.palette.text.primary,fontSize:e.typography.caption.fontSize,minHeight:"auto",borderTop:`1px solid ${e.palette.divider}`,borderBottom:`1px solid ${e.palette.divider}`,padding:e.spacing(1),display:"grid",gridTemplateAreas:({badge:a})=>[`"${a?"badge":"title"} title"`,`"${a?".":"description"} description"`].join(" "),gridTemplateColumns:"auto 1fr"},title:{gridArea:"title",textTransform:"uppercase",fontWeight:"bold",color:e.palette.text.primary,fontSize:e.typography.body2.fontSize,paddingTop:e.spacing(.5),paddingBottom:e.spacing(.5),lineHeight:1},badge:{gridArea:"badge",marginRight:e.spacing(1)},description:{gridArea:"description",color:e.palette.text.primary,fontSize:e.typography.subtitle2.fontSize,"& p":{marginBlockStart:0,marginBlockEnd:0}}})),ae=e=>{const a=L({badge:e.badge});return t.createElement("div",{className:a.wrapper},e.badge?t.createElement(S,{className:a.badge,badge:e.badge}):null,t.createElement(c,{className:a.title},e.title),e.description?t.createElement(y,{className:a.description,content:e.description}):null)},R=({level:e,checkId:a,trackId:r,playlistId:l,isCampaign:i})=>{var n;return t.createElement(t.Fragment,null,!i&&t.createElement(ae,{badge:e.badge,title:e.name,description:e.description}),t.createElement(te,{checks:(n=e.checks)!=null?n:[],playlistId:l,trackId:r,checkId:a}))},z=({badge:e,className:a,size:r="small",trackType:l})=>{const i=a||"";let n=t.createElement(H,{className:i,size:r});return l==="campaign"?n=t.createElement(Q,{className:i,size:r}):e&&(n=t.createElement(S,{className:i,size:r,badge:e})),n},h=m(e=>({description:{padding:0,margin:0,display:"block","& p":{margin:0}},root:{padding:e.spacing(2),margin:0,display:"grid",gridTemplateColumns:"min-content auto",gridGap:e.spacing(2)},title:{fontSize:e.typography.pxToRem(18),fontWeight:700,lineHeight:1.235,marginBottom:"6px"},level:{textTransform:"uppercase",color:e.palette.text.secondary,fontWeight:700,letterSpacing:"1px"}}));function re({description:e,documentationUrl:a}){const r=h();return a?t.createElement("div",{className:r.description},t.createElement(y,{content:e}),t.createElement(q,{to:a},"Learn more")):t.createElement("div",{className:r.description},t.createElement(y,{content:e}))}const A=({name:e,badge:a,description:r,documentationUrl:l,trackType:i="standard"})=>{const n=h();return t.createElement("div",{className:n.root},t.createElement(z,{badge:a,trackType:i,size:"large"}),t.createElement("div",null,t.createElement(c,{className:n.title},e),r&&t.createElement(re,{description:r,documentationUrl:l})))},B=({hideDescription:e=!1})=>{const a=h();return t.createElement(f,null,t.createElement("div",{className:a.root},t.createElement(o,{width:44,height:44}),t.createElement("div",null,t.createElement(c,{variant:"caption",className:a.level},t.createElement(o,{width:100})),t.createElement(c,{variant:"h4",className:a.title},t.createElement(o,{width:300})),!e&&t.createElement(c,{variant:"body2"},t.createElement(o,null)))))},k=()=>{const e=x();return t.createElement(f,null,t.createElement("div",{className:e.root},t.createElement(o,{width:24,height:24}),t.createElement(c,{variant:"body2"},t.createElement(o,null)),t.createElement(o,{width:100,height:24})))},ne=()=>{const e=L({});return t.createElement(f,null,t.createElement("div",{className:e.wrapper},t.createElement(o,{className:e.title}),t.createElement(c,{className:e.description},t.createElement(o,null))))},w=()=>{const e=ie();return t.createElement("div",null,t.createElement(B,null),new Array(3).fill(null).map((a,r)=>t.createElement(t.Fragment,{key:`skeleton-level-${r}`},t.createElement(ne,null),t.createElement("ul",{className:e.checks},t.createElement(k,null),t.createElement(k,null),t.createElement(k,null)))))},ie=m(()=>({checks:{padding:0,margin:0,flex:1,listStyle:"none"}})),le=({playlistId:e,trackId:a,checkId:r})=>{var l;const{entity:i}=$(),{data:n,isLoading:d,isError:s}=I(i,a);if(s)return t.createElement("div",null,t.createElement(M,{padding:2},t.createElement(W,{severity:"error",title:"Error loading certification"})));if(d||!a)return t.createElement(w,null);if(!n)return null;const D=n.program.type==="campaign";return t.createElement("div",null,t.createElement(A,{name:n.program.name,badge:(l=n.highestLevel)==null?void 0:l.badge,description:n.program.description,documentationUrl:n.program.documentationURL,trackType:n.program.type}),n==null?void 0:n.levels.map(v=>t.createElement(R,{key:v.ordinal,level:v,checkId:r,trackId:a,playlistId:e,isCampaign:D})))};export{z as C,T as R,J as a,V as b,w as c,A as d,R as e,le as f,B as g,I as u};
|
|
2
|
+
//# sourceMappingURL=CertificationSidebar-DB4UqW7X.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useApi as A,errorApiRef as F}from"@backstage/core-plugin-api";import{QueryClient as M,QueryClientProvider as D}from"@tanstack/react-query";import{memoize as H}from"lodash";import a,{createContext as y,useState as m,useCallback as l,useContext as v,useRef as L,useEffect as U}from"react";import{makeStyles as c,Modal as W,Box as Q,Typography as p,Button as E,withStyles as d,alpha as K,Fade as j,Card as q}from"@material-ui/core";import{Alert as J,AlertTitle as V}from"@material-ui/lab";import X from"@material-ui/icons/Check";import Y from"@material-ui/icons/Close";import Z from"@material-ui/icons/HelpOutline";import _ from"@material-ui/icons/RemoveCircleOutline";import ee from"@material-ui/icons/ReportProblemOutlined";import{R as n}from"./routes-DcGwdXHX.esm.js";import u from"classnames";import{parseEntityRef as b}from"@backstage/catalog-model";import{humanizeEntityRef as R}from"@backstage/plugin-catalog-react";import te from"../images/empty-state.svg";const ae=H(e=>new M({defaultOptions:{queries:{refetchInterval:6e4,refetchIntervalInBackground:!1,refetchOnWindowFocus:"always",retry:2,retryDelay:t=>{const r=450+Math.ceil(Math.random()*100);return Math.min(r*2**t,3e4)},onError:t=>e.post(t)}}})),re=e=>{const t=A(F),r=ae(t);return a.createElement(D,{client:r},e.children)};var P=(e=>(e.GetAllPrograms="soundcheck/programs",e.GetChecks="soundcheck/checks",e.GetCollectors="soundcheck/collectors",e.GetFactSchema="soundcheck/collectors/schema",e.GetEntityFacets="soundcheck/catalog/facets",e.GetSoftwareEntityRefsForUser="soundcheck/entities/softwareEntityRefsForUser",e.GetCampaigns="soundcheck/campaigns",e.GetCampaignProgress="soundcheck/campaigns/getCampaignProgress",e.GetOverallCheckPassRateSnapshots="soundcheck/charts/overallCheckPassRateSnapshots",e.GetOverallCheckPassRateTrends="soundcheck/charts/overallCheckPassRateTrends",e.GetIndividualCheckPassRateSnapshots="soundcheck/charts/getIndividualCheckPassRateSnapshots",e.GetIndividualCheckPassRateTrends="soundcheck/charts/getIndividualCheckPassRateTrends",e.GetOverallTrackPassRateSnapshots="soundcheck/charts/overallTrackPassRateSnapshots",e.GetOverallTrackPassRateTrends="soundcheck/charts/overallTrackPassRateTrends",e.GetIndividualTrackPassRateSnapshots="soundcheck/charts/individualTrackPassRateSnapshots",e.GetIndividualTrackPassRateTrends="soundcheck/charts/individualTrackPassRateTrends",e.GetOverallEntityPassRateTrends="soundcheck/charts/overallEntityPassRateTrends",e.GetIndividualEntityPassRateSnapshots="soundcheck/charts/individualEntityPassRateSnapshots",e.GetIndividualEntityPassRateTrends="soundcheck/charts/individualEntityPassRateTrends",e.GetOverallGroupPassRateTrends="soundcheck/charts/overallGroupPassRateTrends",e.GetIndividualGroupPassRateSnapshots="soundcheck/charts/individualGroupPassRateSnapshots",e.GetIndividualGroupPassRateTrends="soundcheck/charts/individualGroupPassRateTrends",e.EntityByRef="soundcheck/catalog/entityByRef",e.EntitiesByRefs="soundcheck/catalog/entitiesByRef",e.TrackEntities="soundcheck/tracks/entities",e.CertificationStatus="soundcheck/certificationStatus",e.CertificationStatusHistory="soundcheck/certificationStatusHistory",e.CheckStatus="soundcheck/checkStatus",e.CheckStatusHistory="soundcheck/checkStatusHistory",e.Certifications="soundcheck/certifications",e.CertificationDetails="soundcheck/certificationDetails",e.GetCheckOwners="soundcheck/checks/getOwners",e.GetTrackOwners="soundcheck/tracks/getOwners",e.GetCampaignOwners="soundcheck/campaigns/getOwners",e))(P||{}),x=(e=>(e.DeleteCheck="soundcheck/deleteCheck",e.CreateCheck="soundcheck/createCheck",e.UpdateCheck="soundcheck/updateCheck",e.DeleteProgram="soundcheck/deleteProgram",e.CreateProgram="soundcheck/createProgram",e.UpdateProgram="soundcheck/updateProgram",e.UpdateCollectorConfig="soundcheck/updateCollectorConfig",e.CreateCampaign="soundcheck/createCampaign",e.UpdateCampaign="soundcheck/updateCampaign",e.DeleteCampaign="soundcheck/deleteCampaign",e.ArchiveCampaign="soundcheck/archiveCampaign",e))(x||{});const se=c(e=>({root:{alignItems:"flex-start",padding:e.spacing(2)},alertTitle:{marginBottom:0}})),T=e=>{const t=se();return a.createElement(J,{severity:e.severity,elevation:1,classes:{...t},onClose:e.onClose,variant:"filled"},a.createElement(V,{className:t.alertTitle},e.title),e.children)},S=y({}),oe=e=>{const[t,r]=m(),s=l(k=>{r(k)},[]),o=l(()=>{r(null)},[]);return a.createElement(S.Provider,{value:{showAlert:s,clearAlert:o}},t&&a.createElement(T,{severity:t.severity,title:t.title,onClose:o},t.message),e.children)},ne=()=>v(S),ce=c(e=>({modalContent:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",backgroundColor:e.palette.background.paper},modalButtons:{display:"flex",justifyContent:"flex-end","& button":{width:"40%",maxWidth:"185px"},padding:e.spacing(2,3),borderTop:`1px solid ${e.palette.divider}`},modalMessage:{margin:"15px 0 35px"},modalText:{padding:e.spacing(2,3,0,3)},cancelButton:{color:e.palette.text.primary}})),G=y({}),ie=e=>{const t=ce(),[r,s]=m(!1),[o,k]=m(),i=L(),w=l(({title:B,message:$,error:z})=>(k({title:B,message:$,error:z}),s(!0),new Promise(O=>{i.current=O})),[]),I=l(()=>{i.current&&i.current(!0),s(!1)},[]),C=l(()=>{i.current&&i.current(!1),s(!1)},[]);return a.createElement(G.Provider,{value:{showModal:w}},e.children,o&&a.createElement(W,{open:r,onClose:C,"aria-labelledby":"confirmation-modal-title","aria-describedby":"confirmation-modal-description"},a.createElement(Q,{className:t.modalContent},a.createElement("div",{className:t.modalText},a.createElement(p,{id:"confirmation-modal-title",variant:"h6"},o.title),a.createElement(p,{className:t.modalMessage,id:"confirmation-modal-description",variant:"body1"},o.message)),a.createElement("div",{className:t.modalButtons},!o.error&&a.createElement(E,{onClick:C,variant:"text","aria-label":"cancel",className:t.cancelButton},"Cancel"),a.createElement(E,{color:"primary",onClick:I,variant:"contained","aria-label":"confirm"},o.error?"Ok":"Confirm")))))},le=()=>v(G),de=e=>({[n.Passed]:"Check passed",[n.NotReported]:"Check not reported",[n.Failed]:"Check failed",[n.Warning]:"Check produced warning(s)",[n.NotApplicable]:"Check not applicable"})[e],me=d(e=>({root:{color:e.palette.success.main}}))(X),pe=d(e=>({root:{color:e.palette.error.main}}))(Y),ue=d(e=>({root:{color:e.palette.warning.main}}))(ee),he=d(e=>({root:{color:e.palette.info.main}}))(Z),ke=d(e=>({root:{color:e.palette.text.disabled}}))(_),ge=({result:e,className:t})=>{const r={className:t,"aria-label":de(e),"aria-hidden":!1};return e===n.Passed?a.createElement(me,{...r}):e===n.NotReported?a.createElement(he,{...r}):e===n.Failed?a.createElement(pe,{...r}):e===n.Warning?a.createElement(ue,{...r}):e===n.NotApplicable?a.createElement(ke,{...r}):null},N=24,fe=11,g=e=>e==="small"?1:2,Ce=c({root:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",borderWidth:"2px",fontWeight:700,width:({size:e})=>`${N*g(e)}px`,height:({size:e})=>`${N*g(e)}px`,fontSize:({size:e})=>`${fe*g(e)}px`}}),h=({className:e,label:t,size:r="small"})=>{const s=Ce({size:r});return a.createElement("span",{className:u(e,s.root),role:"img","aria-label":`${t} badge`},t)},ye=c(e=>({root:{background:({color:t})=>t,color:({color:t})=>t?e.palette.getContrastText(t):e.palette.text.primary,border:({size:t})=>e.palette.type==="dark"?void 0:`${t==="small"?"1px":"2px"} solid ${K(e.palette.text.primary,.8)}`,"&::after":{position:"absolute",display:"block",content:'""',top:0,left:0,width:"100%",height:"100%",borderRadius:"50%",boxShadow:["inset 0 -0.10em 0 0 rgba(0, 0, 0, 0.15)","inset 0px 0.10em 0px 0px rgba(255, 255, 255, 0.4)","inset 0px 0.9em 0px -0.4em rgba(255, 255, 255, 0.1)"].join(",")}},borderTheme:{borderColor:e.palette.text.primary,borderStyle:"solid",color:e.palette.text.primary}})),ve=({className:e,badge:t,size:r="small"})=>{const s=ye({color:t.options.color,size:r});return a.createElement(h,{className:u(e,t.options.color?s.root:s.borderTheme),size:r,label:`L${t.options.level}`})},Ee=c({root:{borderColor:"currentColor",borderStyle:"dashed"}}),be=({className:e,size:t="small"})=>{const r=Ee();return a.createElement(h,{className:u(e,r.root),size:t,label:"NL"})},Re=c({root:{borderColor:"currentColor",borderStyle:"solid"}}),Pe=({className:e,size:t="small"})=>{const r=Re();return a.createElement(h,{className:u(e,r.root),size:t,label:"C"})},xe=({children:e})=>{const[t,r]=m(!1);return U(()=>{const s=setTimeout(()=>{r(!0)},250);return()=>clearTimeout(s)},[]),a.createElement(j,{in:t,timeout:250},e)},Te=c(e=>({card:{backgroundColor:e.palette.background.paper,border:`1px solid ${e.palette.divider}`,borderRadius:e.shape.borderRadius,display:"flex",padding:e.spacing(5)},container:{margin:"0 auto",display:"flex",flexDirection:"row",alignItems:"center",gap:e.spacing(5)},content:{width:"20rem",display:"flex",flexDirection:"column",gap:e.spacing(2)},header:{display:"flex",flexDirection:"column",gap:e.spacing(2)},action:{display:"inline-block"},img:{maxHeight:400}})),f=({title:e,description:t,imgSrc:r,action:s})=>{const o=Te();return a.createElement(q,{className:o.card},a.createElement("div",{className:o.container},a.createElement("div",{className:o.content},a.createElement("header",{className:o.header},a.createElement(p,{variant:"h5"},e),a.createElement(p,{color:"textSecondary",variant:"body1"},t)),s&&a.createElement("div",{className:o.action},s)),a.createElement("div",null,a.createElement("img",{src:r!=null?r:te,className:o.img,alt:e}))))},Se="No certifications available",Ge=({ownerEntityRef:e,selectGroupHint:t})=>{let r="There are no tracks configured that apply to this entity.";return e&&(r=`Looks like the group '${R(b(e),{defaultKind:"Group"})}' doesn't own any entities that have any applicable tracks configured. ${t}`),a.createElement(f,{title:Se,description:r})},Ne="Missing entities",we=({ownerEntityRef:e,selectGroupHint:t})=>{if(!e)return null;const r=R(b(e),{defaultKind:"Group"});return a.createElement(f,{title:Ne,description:`The group '${r}' doesn't own any entities. ${t!=null?t:""}`})};export{T as A,h as B,ge as C,f as E,xe as F,ve as L,x as M,be as N,P as Q,re as S,Ge as a,Pe as b,le as c,oe as d,we as e,ne as u,ie as w};
|
|
2
|
+
//# sourceMappingURL=EmptyState-C2zsaDrr.esm.js.map
|
package/dist/esm/{EntitySoundcheckContent-BmaeLIQd.esm.js → EntitySoundcheckContent-DAnk6B9A.esm.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{useState as ne,useEffect as ie,useRef as le,createContext as oe,useContext as ce,useMemo as se}from"react";import{useApi as z,useRouteRef as v,useRouteRefParams as S}from"@backstage/core-plugin-api";import{useEntity as f}from"@backstage/plugin-catalog-react";import{Link as M,useParams as U,Routes as de,Route as k,Navigate as R}from"react-router-dom";import{R as me,u as C,C as pe,a as L,b as I,c as ue,d as ge,e as fe,f as Ee}from"./CertificationSidebar-C30Mjkwu.esm.js";import{useQuery as Q}from"@tanstack/react-query";import{s as O,R as d,a as N,b as x,d as j,f as B,c as G}from"./routes-DcGwdXHX.esm.js";import{Q as he,F as H,A as w,B as ve,L as ye,N as ke,a as be,S as Ce}from"./EmptyState-B61uP7xJ.esm.js";import{stringifyEntityRef as K}from"@backstage/catalog-model";import{makeStyles as g,useTheme as V,Paper as Y,Typography as y,Box as q,Tab as $,Tabs as J,styled as A,Accordion as Re,AccordionSummary as Ie,AccordionDetails as Ne,Divider as xe}from"@material-ui/core";import{SpotifyLicenseBanner as we}from"@spotify/backstage-plugin-core";import{s as Te,i as Pe}from"./license-CQErZDIh.esm.js";import{Skeleton as E}from"@material-ui/lab";import{i as Se}from"./chartUtils-CD083K30.esm.js";import{MarkdownContent as T,LinearGauge as Le,Link as Be}from"@backstage/core-components";import $e from"@material-ui/icons/CheckCircleOutlined";import Ae from"@material-ui/icons/ErrorOutline";import F from"@material-ui/icons/InfoOutlined";import Fe from"@material-ui/icons/WarningOutlined";import De from"react-confetti";import We from"react-use/lib/useMeasure";import X from"react-use/lib/usePrevious";import{R as ze}from"./RefetchingIndicator-ByFQ51Yf.esm.js";import Me from"classnames";import Ue from"@material-ui/icons/ExpandMore";import P from"lodash";import"@material-ui/icons/Schedule";import"luxon";import"graphql-request";import"graphql-tag";import"@backstage/core-compat-api";import"@material-ui/icons/Check";import"@material-ui/icons/Close";import"@material-ui/icons/HelpOutline";import"@material-ui/icons/RemoveCircleOutline";import"@material-ui/icons/ReportProblemOutlined";import"../images/empty-state.svg";import"react-use/lib/useDebounce";import"react-use/lib/useUnmount";function Qe(t){const a=z(O);return Q([he.CertificationDetails,t],async()=>a.getCertificationDetails(t))}function Oe(t,a,r){const i=z(O),n=K(t);return Q(["soundcheck/check-details",n,a,r],async()=>i.getCheckResultDetails(n,a,r),{enabled:!!a&&!!r})}const je=g(t=>({markdownContent:{"& :last-child":{marginBottom:0}},resultBox:{padding:t.spacing(2),display:"flex",gap:t.spacing(1.5)},iconContainer:{marginTop:1}})),Ge={[d.Passed]:$e,[d.Failed]:Ae,[d.Warning]:Fe,[d.NotReported]:F,[d.NotApplicable]:F},He={[d.Passed]:"Check passed",[d.Failed]:"Check did not pass",[d.Warning]:"Check produced warning(s)",[d.NotReported]:"Check not reported",[d.NotApplicable]:"Check not applicable"},Ke=(t,a)=>({[d.Passed]:a.palette.success.main,[d.Failed]:a.palette.error.main,[d.Warning]:a.palette.warning.main,[d.NotReported]:a.palette.info.main,[d.NotApplicable]:a.palette.info.main})[t],Ve=({state:t,notes:a})=>{var r;const i=je(),n=V(),l=(r=Ge[t])!=null?r:F;return e.createElement(Y,{variant:"outlined",className:i.resultBox},e.createElement("div",{className:i.iconContainer},e.createElement(l,{htmlColor:Ke(t,n)})),e.createElement("div",null,e.createElement(y,{variant:"subtitle1"},He[t]),a?e.createElement(T,{className:i.markdownContent,content:a}):null))},Ye=()=>{const t=Z();return e.createElement(H,null,e.createElement("div",{className:t.root,"data-testid":"check-details-view"},e.createElement("div",{className:t.topBar},e.createElement(y,{variant:"h2",className:t.title},e.createElement(E,{width:300,height:32})),e.createElement(E,{width:100,height:32})),e.createElement(E,{variant:"rect",height:120}),e.createElement("div",{"data-testid":"soundcheck-check-details-description"},e.createElement(y,{variant:"h3"},e.createElement(E,null)),e.createElement(E,null),e.createElement(E,null),e.createElement(E,null))))},Z=g(t=>({root:{padding:`${t.spacing(3)}px ${t.spacing(5)}px`},title:{fontWeight:"normal",fontSize:t.typography.h5.fontSize},description:{padding:`${t.spacing(3)}px 0`},subtitle:{fontWeight:"normal",fontSize:t.typography.h6.fontSize},topBar:{display:"flex",justifyContent:"space-between",marginBottom:t.spacing(2)}})),_=({programId:t,checkId:a})=>{const r=Z(),{entity:i}=f(),{data:n,isLoading:l,isError:o}=Oe(i,t,a);if(o)return e.createElement(q,{padding:2},e.createElement(w,{severity:"error",title:"Error loading check details"}));if(l||!t||!a)return e.createElement(Ye,null);if(!n)return null;const{name:c,description:p,result:m,timestamp:s,notes:u}=n;return e.createElement("div",{className:r.root,"data-testid":"check-details-view"},e.createElement("div",{className:r.topBar},e.createElement(y,{variant:"h2",className:r.title},c),s?e.createElement(me,{timestamp:s,description:"Last updated"}):null),e.createElement(Ve,{state:m,notes:u}),e.createElement("div",{className:r.description,"data-testid":"soundcheck-check-details-description"},e.createElement(y,{variant:"h3",className:r.subtitle},"Description"),e.createElement(T,{content:p})))},qe=g(()=>({root:{position:"absolute",width:"100%",height:"100%"}})),Je=({programId:t})=>{var a,r;const i=qe(),{entity:n}=f(),{data:l,isLoading:o}=C(n,t),[c,{width:p,height:m}]=We(),s=o?void 0:(r=(a=l==null?void 0:l.highestLevel)==null?void 0:a.ordinal)!=null?r:-1,u=X(s),h=X(t),[re,W]=ne(!1);return ie(()=>{typeof u!="undefined"&&typeof s!="undefined"&&t===h&&s>u&&W(!0)},[s,u,t,h]),re?e.createElement("div",{ref:c,className:i.root},e.createElement(De,{width:p,height:m,numberOfPieces:1e3,gravity:1,initialVelocityY:20,recycle:!1,onConfettiComplete:()=>W(!1)})):null},ee=g(t=>({root:{maxWidth:"80ch",textTransform:"uppercase",paddingTop:t.spacing(2),paddingBottom:t.spacing(2)},wrapper:{display:"inline-block",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},badge:{marginRight:t.spacing(1)}})),Xe=({id:t,name:a,badge:r,href:i,selected:n=!1})=>{const l=ee(),{entity:o}=f(),{data:c}=C(o,t);return e.createElement($,{className:l.root,classes:{wrapper:l.wrapper},value:t,label:e.createElement(e.Fragment,null,e.createElement(pe,{badge:r,trackType:c==null?void 0:c.program.type,className:l.badge}),a),component:M,to:i,selected:n})},Ze=g({root:{borderColor:"currentColor",borderStyle:"solid"}}),_e=({className:t,size:a="small"})=>{const r=Ze();return e.createElement(ve,{className:Me(t,r.root),size:a,label:"\u25BA"})},et=g(t=>({root:{maxWidth:"80ch",textTransform:"uppercase",paddingTop:t.spacing(2),paddingBottom:t.spacing(2)},wrapper:{display:"inline-block",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},badge:{marginRight:t.spacing(1)}})),tt=({id:t,name:a,href:r,selected:i=!1})=>{const n=et();return e.createElement($,{className:n.root,classes:{wrapper:n.wrapper},value:t,label:e.createElement(e.Fragment,null,e.createElement(_e,{className:n.badge}),a),component:M,to:r,selected:i})},D=()=>{const t=ee();return e.createElement($,{className:t.root,classes:{wrapper:t.wrapper},label:e.createElement(E,{width:180})})},at=()=>e.createElement(H,null,e.createElement(J,{value:!1,indicatorColor:"primary"},e.createElement(D,null),e.createElement(D,null),e.createElement(D,null)));function rt(t=[],a=[],r,i){if(r){const l=t.findIndex(o=>o.id===r);return l<0?!1:l}const n=a.findIndex(l=>l.program.id===i);return n<0?!1:n+t.length}const nt=({playlistId:t,trackId:a})=>{const{entity:r}=f(),{isLoading:i,data:n}=L(r),{isLoading:l,data:o}=I(r),c=v(N),p=v(x);if(l||i||!a)return e.createElement(at,null);const m=rt(o,n,t,a);return e.createElement(J,{value:m,indicatorColor:"primary","aria-label":"Certifications",variant:"scrollable"},(o==null?void 0:o.length)&&o.map(({id:s,name:u})=>e.createElement(tt,{key:s,id:s,name:u,selected:s===a,href:c({playlistId:s})})),n&&n.filter(({program:{type:s}})=>s!=="playlist").map(({program:{id:s,name:u},highestLevel:h})=>e.createElement(Xe,{key:s,id:s,name:u,badge:h==null?void 0:h.badge,selected:s===a,href:p({trackId:s})})))},it=A(Re)(({theme:t})=>({margin:"0",border:`1px solid ${t.palette.divider}`,borderRadius:0,"&.Mui-expanded":{borderRadius:0},"&:first-child":{borderTopLeftRadius:0,borderTopRightRadius:0},"&:last-child":{borderBottomLeftRadius:0,borderBottomRightRadius:0},"&:not(:first-child)":{borderTop:`1px solid ${t.palette.divider}`},"&:not(:last-child)":{marginBottom:t.spacing(1)}})),lt=A(({...t})=>e.createElement(Ie,{classes:{content:"content",expanded:"expanded"},...t}))(({theme:t})=>({borderRadius:0,paddingTop:0,paddingLeft:0,paddingRight:t.spacing(1),"& > .content":{margin:"0 !important",padding:"0 !important"},"& > .content.expanded":{margin:"0 !important",padding:"0 !important"}})),ot=A(Ne)(()=>({margin:"0 !important",borderRadius:0,padding:0})),ct=g(()=>({sidebar:{width:"100%"}})),st=({playlistId:t,trackId:a,checkId:r})=>{var i;const n=ct(),{entity:l}=f(),o=le(null),{data:c,isLoading:p,isError:m}=C(l,a);if(m)return e.createElement("div",null,e.createElement(q,{padding:2},e.createElement(w,{severity:"error",title:"Error loading certification"})));if(p||!a)return e.createElement(ue,null);if(!c)return null;const s=c.program.type==="campaign";return e.createElement(it,{ref:o,defaultExpanded:!0,elevation:0},e.createElement(lt,{expandIcon:e.createElement(Ue,null),"aria-controls":"certification-content",id:"certification-summary"},e.createElement(ge,{name:c.program.name,badge:(i=c.highestLevel)==null?void 0:i.badge,description:c.program.description,documentationUrl:c.program.documentationURL,trackType:c.program.type})),e.createElement(ot,null,e.createElement("div",{className:n.sidebar},c==null?void 0:c.levels.map(u=>e.createElement(fe,{key:u.ordinal,level:u,checkId:r,trackId:a,playlistId:t,isCampaign:s})))))},te=oe(void 0),dt=()=>{const t=ce(te);if(!t)throw new Error("useAPlaylistCertificationContext must be used within an PlaylistCertificationProvider");return t},mt=t=>{const{children:a,entityRef:r}=t,i=Qe(r);return e.createElement(te.Provider,{value:i},a)},pt=(t,a)=>{if(a)return a.filter(r=>t.trackIds.includes(r.program.id)).map(r=>{const i=P.sumBy(r.levels,o=>P.filter(o.checks,{result:d.Passed}).length),n=P.sumBy(r.levels,o=>P.reject(o.checks,{result:d.NotApplicable}).length),l=n===0?0:i/n;return{id:r.program.id,name:r.program.name,checkPassRate:l}})},ut=g(()=>({root:{margin:0,width:"250px"},trackItem:{display:"flex",flexDirection:"column",alignItems:"flex-start"},badgeAndName:{display:"flex",flexDirection:"row",alignItems:"center"},trackName:{marginLeft:"8px"}})),gt=({playlist:t})=>{const a=ut(),{data:r}=dt(),i=V(),n=se(()=>pt(t,r),[r,t]);return e.createElement("div",{className:a.root},n&&n.map(l=>{var o,c;const p=(c=(o=r==null?void 0:r.find(m=>m.program.id===l.id))==null?void 0:o.highestLevel)==null?void 0:c.badge;return e.createElement("div",{className:a.trackItem,key:l.id},e.createElement("div",{className:a.badgeAndName},p?e.createElement(ye,{badge:p}):e.createElement(ke,null),e.createElement(y,{variant:"caption",color:"textSecondary",className:a.trackName},l.name)),e.createElement("div",{style:{width:"100%",marginBottom:"8px"}},e.createElement(Le,{value:l.checkPassRate,getColor:()=>i.palette.status.ok})))}))},ae=g(t=>({description:{padding:0,margin:0,display:"block","& p":{margin:0}},root:{padding:t.spacing(2),margin:0,display:"grid",gridTemplateColumns:"min-content auto",gridGap:t.spacing(2)},title:{fontSize:t.typography.pxToRem(18),fontWeight:700,lineHeight:1.235,marginBottom:"6px"},level:{textTransform:"uppercase",color:t.palette.text.secondary,fontWeight:700,letterSpacing:"1px"}}));function ft({description:t,documentationUrl:a}){const r=ae();return a?e.createElement("div",{className:r.description},e.createElement(T,{content:t}),e.createElement(Be,{to:a},"Learn more")):e.createElement("div",{className:r.description},e.createElement(T,{content:t}))}const Et=({playlist:t})=>{const a=ae(),{name:r,description:i}=t;return e.createElement("div",{className:a.root},e.createElement(gt,{playlist:t}),e.createElement("div",null,e.createElement(y,{className:a.title},r),i&&e.createElement(ft,{description:i,documentationUrl:void 0})))},ht=g(t=>({root:{margin:0,display:"grid",gridTemplateColumns:"1fr",backgroundColor:t.palette.background.default},header:{backgroundColor:t.palette.background.paper,borderBottom:`1px solid ${t.palette.divider}`},section:{backgroundColor:t.palette.background.paper,border:`1px solid ${t.palette.divider}`,padding:0,marginTop:t.spacing(1),marginBottom:t.spacing(1),marginLeft:0,marginRight:t.spacing(1)},twoColumns:{display:"grid",gridTemplateColumns:"1fr 2fr"},sidebar:{display:"grid",gridTemplateColumns:"1fr",margin:t.spacing(1)}})),vt=({playlist:t,entityRef:a})=>{const r=ht(),{trackId:i,checkId:n}=U();return e.createElement("div",{className:r.root},e.createElement(mt,{entityRef:a},e.createElement("div",{className:r.header},e.createElement(Et,{playlist:t,entityRef:a})),e.createElement("div",{className:r.twoColumns},e.createElement("div",{className:r.sidebar},t.trackIds.map(l=>e.createElement(st,{key:l,playlistId:t.id,trackId:l,checkId:n}))),e.createElement("div",{className:r.section},e.createElement(_,{programId:i,checkId:n})))))},yt=g(t=>({paper:{overflow:"hidden",position:"relative",border:Se(t)?`1px solid ${t.palette.divider}`:void 0},view:{display:"grid",gridTemplateColumns:"1fr 2fr"},sidebar:{borderRight:`1px solid ${t.palette.divider}`}})),kt=()=>{const{playlistId:t,trackId:a,checkId:r}=U(),i=yt(),{entity:n}=f(),{isError:l,isFetched:o,data:c}=L(n),{isError:p,data:m}=I(n);if(l||p)return e.createElement(w,{severity:"error",title:"Error loading certifications"});const s=t&&(m==null?void 0:m.find(h=>h.id===t));if(t&&!s)return e.createElement(w,{severity:"error",title:"Playlist ${playlistId} not found."});if(o&&!(c!=null&&c.length))return e.createElement(be,null);const u=n?K(n):void 0;return e.createElement(Y,{className:i.paper},e.createElement(ze,null),e.createElement(nt,{playlistId:t,trackId:a}),e.createElement(xe,null),s&&e.createElement(vt,{playlist:s,entityRef:u}),!s&&a&&e.createElement("div",{"data-testid":"soundcheck-certification-view",className:i.view},e.createElement("div",{className:i.sidebar},e.createElement(Ee,{trackId:a,checkId:r})),e.createElement(_,{programId:a,checkId:r}),e.createElement(Je,{programId:a})))},bt=g(t=>({root:{"&:not(:first-child)":{marginTop:t.spacing(2)}}})),b=()=>{const t=bt();return e.createElement(e.Fragment,null,e.createElement(we,{backend:Te,invalidLicenseMessage:Pe,inline:!0}),e.createElement("div",{className:t.root},e.createElement(kt,null)))},Ct=()=>{var t,a;const{entity:r}=f(),i=v(N),n=v(x),{isLoading:l,data:o}=I(r),{isLoading:c,data:p}=L(r);if(l||c)return null;const m=(t=o==null?void 0:o[0])==null?void 0:t.id,s=(a=p==null?void 0:p[0])==null?void 0:a.program.id;return!m&&!s?null:e.createElement(R,{to:m?i({playlistId:m}):n({trackId:s}),replace:!0})},Rt=()=>{var t;const{entity:a}=f(),{playlistId:r}=S(N),i=v(B),{data:n}=I(a),l=(t=n==null?void 0:n.find(o=>o.id===r))==null?void 0:t.trackIds[0];return l?e.createElement(R,{to:i({playlistId:r,trackId:l}),replace:!0}):null},It=()=>{var t,a;const{entity:r}=f(),{playlistId:i,trackId:n}=S(B),{data:l}=C(r,n),o=v(j),c=(a=(t=l==null?void 0:l.levels[0])==null?void 0:t.checks[0])==null?void 0:a.id;return c?e.createElement(R,{to:o({playlistId:i,trackId:n,checkId:c}),replace:!0}):null},Nt=()=>{var t,a;const{entity:r}=f(),{trackId:i}=S(x),n=v(G),{data:l}=C(r,i),o=(a=(t=l==null?void 0:l.levels[0])==null?void 0:t.checks[0])==null?void 0:a.id;return o?e.createElement(R,{to:n({trackId:i,checkId:o}),replace:!0}):null},xt=()=>e.createElement(de,null,e.createElement(k,{path:j.path,element:e.createElement(b,null)}),e.createElement(k,{path:B.path,element:e.createElement(e.Fragment,null,e.createElement(b,null),e.createElement(It,null))}),e.createElement(k,{path:N.path,element:e.createElement(e.Fragment,null,e.createElement(b,null),e.createElement(Rt,null))}),e.createElement(k,{path:x.path,element:e.createElement(e.Fragment,null,e.createElement(b,null),e.createElement(Nt,null))}),e.createElement(k,{path:G.path,element:e.createElement(b,null)}),e.createElement(k,{path:"/",element:e.createElement(e.Fragment,null,e.createElement(b,null),e.createElement(Ct,null))})),wt=()=>e.createElement(Ce,null,e.createElement(xt,null));export{wt as EntitySoundcheckContent};
|
|
2
|
-
//# sourceMappingURL=EntitySoundcheckContent-
|
|
1
|
+
import e,{useState as ne,useEffect as ie,useRef as le,createContext as oe,useContext as ce,useMemo as se}from"react";import{useApi as z,useRouteRef as v,useRouteRefParams as S}from"@backstage/core-plugin-api";import{useEntity as f}from"@backstage/plugin-catalog-react";import{Link as M,useParams as U,Routes as de,Route as k,Navigate as R}from"react-router-dom";import{R as me,u as C,C as pe,a as L,b as I,c as ue,d as ge,e as fe,f as Ee}from"./CertificationSidebar-DB4UqW7X.esm.js";import{useQuery as Q}from"@tanstack/react-query";import{s as O,R as d,a as N,b as x,d as j,f as B,c as G}from"./routes-DcGwdXHX.esm.js";import{Q as he,F as H,A as w,B as ve,L as ye,N as ke,a as be,S as Ce}from"./EmptyState-C2zsaDrr.esm.js";import{stringifyEntityRef as K}from"@backstage/catalog-model";import{makeStyles as g,useTheme as V,Paper as Y,Typography as y,Box as q,Tab as $,Tabs as J,styled as A,Accordion as Re,AccordionSummary as Ie,AccordionDetails as Ne,Divider as xe}from"@material-ui/core";import{SpotifyLicenseBanner as we}from"@spotify/backstage-plugin-core";import{s as Te,i as Pe}from"./license-CQErZDIh.esm.js";import{Skeleton as E}from"@material-ui/lab";import{i as Se}from"./chartUtils-CD083K30.esm.js";import{MarkdownContent as T,LinearGauge as Le,Link as Be}from"@backstage/core-components";import $e from"@material-ui/icons/CheckCircleOutlined";import Ae from"@material-ui/icons/ErrorOutline";import F from"@material-ui/icons/InfoOutlined";import Fe from"@material-ui/icons/WarningOutlined";import De from"react-confetti";import We from"react-use/lib/useMeasure";import X from"react-use/lib/usePrevious";import{R as ze}from"./RefetchingIndicator-BrP7yEiB.esm.js";import Me from"classnames";import Ue from"@material-ui/icons/ExpandMore";import P from"lodash";import"@material-ui/icons/Schedule";import"luxon";import"graphql-request";import"graphql-tag";import"@backstage/core-compat-api";import"@material-ui/icons/Check";import"@material-ui/icons/Close";import"@material-ui/icons/HelpOutline";import"@material-ui/icons/RemoveCircleOutline";import"@material-ui/icons/ReportProblemOutlined";import"../images/empty-state.svg";import"react-use/lib/useDebounce";import"react-use/lib/useUnmount";function Qe(t){const a=z(O);return Q([he.CertificationDetails,t],async()=>a.getCertificationDetails(t))}function Oe(t,a,r){const i=z(O),n=K(t);return Q(["soundcheck/check-details",n,a,r],async()=>i.getCheckResultDetails(n,a,r),{enabled:!!a&&!!r})}const je=g(t=>({markdownContent:{"& :last-child":{marginBottom:0}},resultBox:{padding:t.spacing(2),display:"flex",gap:t.spacing(1.5)},iconContainer:{marginTop:1}})),Ge={[d.Passed]:$e,[d.Failed]:Ae,[d.Warning]:Fe,[d.NotReported]:F,[d.NotApplicable]:F},He={[d.Passed]:"Check passed",[d.Failed]:"Check did not pass",[d.Warning]:"Check produced warning(s)",[d.NotReported]:"Check not reported",[d.NotApplicable]:"Check not applicable"},Ke=(t,a)=>({[d.Passed]:a.palette.success.main,[d.Failed]:a.palette.error.main,[d.Warning]:a.palette.warning.main,[d.NotReported]:a.palette.info.main,[d.NotApplicable]:a.palette.info.main})[t],Ve=({state:t,notes:a})=>{var r;const i=je(),n=V(),l=(r=Ge[t])!=null?r:F;return e.createElement(Y,{variant:"outlined",className:i.resultBox},e.createElement("div",{className:i.iconContainer},e.createElement(l,{htmlColor:Ke(t,n)})),e.createElement("div",null,e.createElement(y,{variant:"subtitle1"},He[t]),a?e.createElement(T,{className:i.markdownContent,content:a}):null))},Ye=()=>{const t=Z();return e.createElement(H,null,e.createElement("div",{className:t.root,"data-testid":"check-details-view"},e.createElement("div",{className:t.topBar},e.createElement(y,{variant:"h2",className:t.title},e.createElement(E,{width:300,height:32})),e.createElement(E,{width:100,height:32})),e.createElement(E,{variant:"rect",height:120}),e.createElement("div",{"data-testid":"soundcheck-check-details-description"},e.createElement(y,{variant:"h3"},e.createElement(E,null)),e.createElement(E,null),e.createElement(E,null),e.createElement(E,null))))},Z=g(t=>({root:{padding:`${t.spacing(3)}px ${t.spacing(5)}px`},title:{fontWeight:"normal",fontSize:t.typography.h5.fontSize},description:{padding:`${t.spacing(3)}px 0`},subtitle:{fontWeight:"normal",fontSize:t.typography.h6.fontSize},topBar:{display:"flex",justifyContent:"space-between",marginBottom:t.spacing(2)}})),_=({programId:t,checkId:a})=>{const r=Z(),{entity:i}=f(),{data:n,isLoading:l,isError:o}=Oe(i,t,a);if(o)return e.createElement(q,{padding:2},e.createElement(w,{severity:"error",title:"Error loading check details"}));if(l||!t||!a)return e.createElement(Ye,null);if(!n)return null;const{name:c,description:p,result:m,timestamp:s,notes:u}=n;return e.createElement("div",{className:r.root,"data-testid":"check-details-view"},e.createElement("div",{className:r.topBar},e.createElement(y,{variant:"h2",className:r.title},c),s?e.createElement(me,{timestamp:s,description:"Last updated"}):null),e.createElement(Ve,{state:m,notes:u}),e.createElement("div",{className:r.description,"data-testid":"soundcheck-check-details-description"},e.createElement(y,{variant:"h3",className:r.subtitle},"Description"),e.createElement(T,{content:p})))},qe=g(()=>({root:{position:"absolute",width:"100%",height:"100%"}})),Je=({programId:t})=>{var a,r;const i=qe(),{entity:n}=f(),{data:l,isLoading:o}=C(n,t),[c,{width:p,height:m}]=We(),s=o?void 0:(r=(a=l==null?void 0:l.highestLevel)==null?void 0:a.ordinal)!=null?r:-1,u=X(s),h=X(t),[re,W]=ne(!1);return ie(()=>{typeof u!="undefined"&&typeof s!="undefined"&&t===h&&s>u&&W(!0)},[s,u,t,h]),re?e.createElement("div",{ref:c,className:i.root},e.createElement(De,{width:p,height:m,numberOfPieces:1e3,gravity:1,initialVelocityY:20,recycle:!1,onConfettiComplete:()=>W(!1)})):null},ee=g(t=>({root:{maxWidth:"80ch",textTransform:"uppercase",paddingTop:t.spacing(2),paddingBottom:t.spacing(2)},wrapper:{display:"inline-block",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},badge:{marginRight:t.spacing(1)}})),Xe=({id:t,name:a,badge:r,href:i,selected:n=!1})=>{const l=ee(),{entity:o}=f(),{data:c}=C(o,t);return e.createElement($,{className:l.root,classes:{wrapper:l.wrapper},value:t,label:e.createElement(e.Fragment,null,e.createElement(pe,{badge:r,trackType:c==null?void 0:c.program.type,className:l.badge}),a),component:M,to:i,selected:n})},Ze=g({root:{borderColor:"currentColor",borderStyle:"solid"}}),_e=({className:t,size:a="small"})=>{const r=Ze();return e.createElement(ve,{className:Me(t,r.root),size:a,label:"\u25BA"})},et=g(t=>({root:{maxWidth:"80ch",textTransform:"uppercase",paddingTop:t.spacing(2),paddingBottom:t.spacing(2)},wrapper:{display:"inline-block",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},badge:{marginRight:t.spacing(1)}})),tt=({id:t,name:a,href:r,selected:i=!1})=>{const n=et();return e.createElement($,{className:n.root,classes:{wrapper:n.wrapper},value:t,label:e.createElement(e.Fragment,null,e.createElement(_e,{className:n.badge}),a),component:M,to:r,selected:i})},D=()=>{const t=ee();return e.createElement($,{className:t.root,classes:{wrapper:t.wrapper},label:e.createElement(E,{width:180})})},at=()=>e.createElement(H,null,e.createElement(J,{value:!1,indicatorColor:"primary"},e.createElement(D,null),e.createElement(D,null),e.createElement(D,null)));function rt(t=[],a=[],r,i){if(r){const l=t.findIndex(o=>o.id===r);return l<0?!1:l}const n=a.findIndex(l=>l.program.id===i);return n<0?!1:n+t.length}const nt=({playlistId:t,trackId:a})=>{const{entity:r}=f(),{isLoading:i,data:n}=L(r),{isLoading:l,data:o}=I(r),c=v(N),p=v(x);if(l||i||!a)return e.createElement(at,null);const m=rt(o,n,t,a);return e.createElement(J,{value:m,indicatorColor:"primary","aria-label":"Certifications",variant:"scrollable"},(o==null?void 0:o.length)&&o.map(({id:s,name:u})=>e.createElement(tt,{key:s,id:s,name:u,selected:s===a,href:c({playlistId:s})})),n&&n.filter(({program:{type:s}})=>s!=="playlist").map(({program:{id:s,name:u},highestLevel:h})=>e.createElement(Xe,{key:s,id:s,name:u,badge:h==null?void 0:h.badge,selected:s===a,href:p({trackId:s})})))},it=A(Re)(({theme:t})=>({margin:"0",border:`1px solid ${t.palette.divider}`,borderRadius:0,"&.Mui-expanded":{borderRadius:0},"&:first-child":{borderTopLeftRadius:0,borderTopRightRadius:0},"&:last-child":{borderBottomLeftRadius:0,borderBottomRightRadius:0},"&:not(:first-child)":{borderTop:`1px solid ${t.palette.divider}`},"&:not(:last-child)":{marginBottom:t.spacing(1)}})),lt=A(({...t})=>e.createElement(Ie,{classes:{content:"content",expanded:"expanded"},...t}))(({theme:t})=>({borderRadius:0,paddingTop:0,paddingLeft:0,paddingRight:t.spacing(1),"& > .content":{margin:"0 !important",padding:"0 !important"},"& > .content.expanded":{margin:"0 !important",padding:"0 !important"}})),ot=A(Ne)(()=>({margin:"0 !important",borderRadius:0,padding:0})),ct=g(()=>({sidebar:{width:"100%"}})),st=({playlistId:t,trackId:a,checkId:r})=>{var i;const n=ct(),{entity:l}=f(),o=le(null),{data:c,isLoading:p,isError:m}=C(l,a);if(m)return e.createElement("div",null,e.createElement(q,{padding:2},e.createElement(w,{severity:"error",title:"Error loading certification"})));if(p||!a)return e.createElement(ue,null);if(!c)return null;const s=c.program.type==="campaign";return e.createElement(it,{ref:o,defaultExpanded:!0,elevation:0},e.createElement(lt,{expandIcon:e.createElement(Ue,null),"aria-controls":"certification-content",id:"certification-summary"},e.createElement(ge,{name:c.program.name,badge:(i=c.highestLevel)==null?void 0:i.badge,description:c.program.description,documentationUrl:c.program.documentationURL,trackType:c.program.type})),e.createElement(ot,null,e.createElement("div",{className:n.sidebar},c==null?void 0:c.levels.map(u=>e.createElement(fe,{key:u.ordinal,level:u,checkId:r,trackId:a,playlistId:t,isCampaign:s})))))},te=oe(void 0),dt=()=>{const t=ce(te);if(!t)throw new Error("useAPlaylistCertificationContext must be used within an PlaylistCertificationProvider");return t},mt=t=>{const{children:a,entityRef:r}=t,i=Qe(r);return e.createElement(te.Provider,{value:i},a)},pt=(t,a)=>{if(a)return a.filter(r=>t.trackIds.includes(r.program.id)).map(r=>{const i=P.sumBy(r.levels,o=>P.filter(o.checks,{result:d.Passed}).length),n=P.sumBy(r.levels,o=>P.reject(o.checks,{result:d.NotApplicable}).length),l=n===0?0:i/n;return{id:r.program.id,name:r.program.name,checkPassRate:l}})},ut=g(()=>({root:{margin:0,width:"250px"},trackItem:{display:"flex",flexDirection:"column",alignItems:"flex-start"},badgeAndName:{display:"flex",flexDirection:"row",alignItems:"center"},trackName:{marginLeft:"8px"}})),gt=({playlist:t})=>{const a=ut(),{data:r}=dt(),i=V(),n=se(()=>pt(t,r),[r,t]);return e.createElement("div",{className:a.root},n&&n.map(l=>{var o,c;const p=(c=(o=r==null?void 0:r.find(m=>m.program.id===l.id))==null?void 0:o.highestLevel)==null?void 0:c.badge;return e.createElement("div",{className:a.trackItem,key:l.id},e.createElement("div",{className:a.badgeAndName},p?e.createElement(ye,{badge:p}):e.createElement(ke,null),e.createElement(y,{variant:"caption",color:"textSecondary",className:a.trackName},l.name)),e.createElement("div",{style:{width:"100%",marginBottom:"8px"}},e.createElement(Le,{value:l.checkPassRate,getColor:()=>i.palette.status.ok})))}))},ae=g(t=>({description:{padding:0,margin:0,display:"block","& p":{margin:0}},root:{padding:t.spacing(2),margin:0,display:"grid",gridTemplateColumns:"min-content auto",gridGap:t.spacing(2)},title:{fontSize:t.typography.pxToRem(18),fontWeight:700,lineHeight:1.235,marginBottom:"6px"},level:{textTransform:"uppercase",color:t.palette.text.secondary,fontWeight:700,letterSpacing:"1px"}}));function ft({description:t,documentationUrl:a}){const r=ae();return a?e.createElement("div",{className:r.description},e.createElement(T,{content:t}),e.createElement(Be,{to:a},"Learn more")):e.createElement("div",{className:r.description},e.createElement(T,{content:t}))}const Et=({playlist:t})=>{const a=ae(),{name:r,description:i}=t;return e.createElement("div",{className:a.root},e.createElement(gt,{playlist:t}),e.createElement("div",null,e.createElement(y,{className:a.title},r),i&&e.createElement(ft,{description:i,documentationUrl:void 0})))},ht=g(t=>({root:{margin:0,display:"grid",gridTemplateColumns:"1fr",backgroundColor:t.palette.background.default},header:{backgroundColor:t.palette.background.paper,borderBottom:`1px solid ${t.palette.divider}`},section:{backgroundColor:t.palette.background.paper,border:`1px solid ${t.palette.divider}`,padding:0,marginTop:t.spacing(1),marginBottom:t.spacing(1),marginLeft:0,marginRight:t.spacing(1)},twoColumns:{display:"grid",gridTemplateColumns:"1fr 2fr"},sidebar:{display:"grid",gridTemplateColumns:"1fr",margin:t.spacing(1)}})),vt=({playlist:t,entityRef:a})=>{const r=ht(),{trackId:i,checkId:n}=U();return e.createElement("div",{className:r.root},e.createElement(mt,{entityRef:a},e.createElement("div",{className:r.header},e.createElement(Et,{playlist:t,entityRef:a})),e.createElement("div",{className:r.twoColumns},e.createElement("div",{className:r.sidebar},t.trackIds.map(l=>e.createElement(st,{key:l,playlistId:t.id,trackId:l,checkId:n}))),e.createElement("div",{className:r.section},e.createElement(_,{programId:i,checkId:n})))))},yt=g(t=>({paper:{overflow:"hidden",position:"relative",border:Se(t)?`1px solid ${t.palette.divider}`:void 0},view:{display:"grid",gridTemplateColumns:"1fr 2fr"},sidebar:{borderRight:`1px solid ${t.palette.divider}`}})),kt=()=>{const{playlistId:t,trackId:a,checkId:r}=U(),i=yt(),{entity:n}=f(),{isError:l,isFetched:o,data:c}=L(n),{isError:p,data:m}=I(n);if(l||p)return e.createElement(w,{severity:"error",title:"Error loading certifications"});const s=t&&(m==null?void 0:m.find(h=>h.id===t));if(t&&!s)return e.createElement(w,{severity:"error",title:"Playlist ${playlistId} not found."});if(o&&!(c!=null&&c.length))return e.createElement(be,null);const u=n?K(n):void 0;return e.createElement(Y,{className:i.paper},e.createElement(ze,null),e.createElement(nt,{playlistId:t,trackId:a}),e.createElement(xe,null),s&&e.createElement(vt,{playlist:s,entityRef:u}),!s&&a&&e.createElement("div",{"data-testid":"soundcheck-certification-view",className:i.view},e.createElement("div",{className:i.sidebar},e.createElement(Ee,{trackId:a,checkId:r})),e.createElement(_,{programId:a,checkId:r}),e.createElement(Je,{programId:a})))},bt=g(t=>({root:{"&:not(:first-child)":{marginTop:t.spacing(2)}}})),b=()=>{const t=bt();return e.createElement(e.Fragment,null,e.createElement(we,{backend:Te,invalidLicenseMessage:Pe,inline:!0}),e.createElement("div",{className:t.root},e.createElement(kt,null)))},Ct=()=>{var t,a;const{entity:r}=f(),i=v(N),n=v(x),{isLoading:l,data:o}=I(r),{isLoading:c,data:p}=L(r);if(l||c)return null;const m=(t=o==null?void 0:o[0])==null?void 0:t.id,s=(a=p==null?void 0:p[0])==null?void 0:a.program.id;return!m&&!s?null:e.createElement(R,{to:m?i({playlistId:m}):n({trackId:s}),replace:!0})},Rt=()=>{var t;const{entity:a}=f(),{playlistId:r}=S(N),i=v(B),{data:n}=I(a),l=(t=n==null?void 0:n.find(o=>o.id===r))==null?void 0:t.trackIds[0];return l?e.createElement(R,{to:i({playlistId:r,trackId:l}),replace:!0}):null},It=()=>{var t,a;const{entity:r}=f(),{playlistId:i,trackId:n}=S(B),{data:l}=C(r,n),o=v(j),c=(a=(t=l==null?void 0:l.levels[0])==null?void 0:t.checks[0])==null?void 0:a.id;return c?e.createElement(R,{to:o({playlistId:i,trackId:n,checkId:c}),replace:!0}):null},Nt=()=>{var t,a;const{entity:r}=f(),{trackId:i}=S(x),n=v(G),{data:l}=C(r,i),o=(a=(t=l==null?void 0:l.levels[0])==null?void 0:t.checks[0])==null?void 0:a.id;return o?e.createElement(R,{to:n({trackId:i,checkId:o}),replace:!0}):null},xt=()=>e.createElement(de,null,e.createElement(k,{path:j.path,element:e.createElement(b,null)}),e.createElement(k,{path:B.path,element:e.createElement(e.Fragment,null,e.createElement(b,null),e.createElement(It,null))}),e.createElement(k,{path:N.path,element:e.createElement(e.Fragment,null,e.createElement(b,null),e.createElement(Rt,null))}),e.createElement(k,{path:x.path,element:e.createElement(e.Fragment,null,e.createElement(b,null),e.createElement(Nt,null))}),e.createElement(k,{path:G.path,element:e.createElement(b,null)}),e.createElement(k,{path:"/",element:e.createElement(e.Fragment,null,e.createElement(b,null),e.createElement(Ct,null))})),wt=()=>e.createElement(Ce,null,e.createElement(xt,null));export{wt as EntitySoundcheckContent};
|
|
2
|
+
//# sourceMappingURL=EntitySoundcheckContent-DAnk6B9A.esm.js.map
|
package/dist/esm/{OverviewPageContent-CPFc3uxO.esm.js → OverviewPageContent-CBL-e1xr.esm.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{stringifyEntityRef as K,parseEntityRef as G}from"@backstage/catalog-model";import{useApi as x,identityApiRef as te,configApiRef as Ue,useRouteRef as D}from"@backstage/core-plugin-api";import{catalogApiRef as M,EntityRefLink as ae,humanizeEntityRef as Q,entityRouteRef as ne}from"@backstage/plugin-catalog-react";import t,{createContext as _e,useState as $,useEffect as T,useContext as Ke,useMemo as F,useCallback as S,memo as A,useRef as Qe,useLayoutEffect as Je}from"react";import qe from"react-use/lib/useAsync";import{makeStyles as E,alpha as Xe,TextField as Ye,CircularProgress as re,Grid as N,Typography as g,Button as Ze,Menu as et,MenuItem as le,Tabs as tt,Tab as at,TablePagination as oe,withStyles as nt,Tooltip as ie,LinearProgress as rt,Accordion as lt,AccordionSummary as ot,AccordionDetails as it}from"@material-ui/core";import st from"@material-ui/lab/Autocomplete";import{useSearchParams as J,useNavigate as ct}from"react-router-dom";import dt from"react-use/lib/useLocalStorage";import{useQuery as I}from"@tanstack/react-query";import{s as H,h as pt,i as mt,R as L,B as ut,j as gt}from"./routes-DcGwdXHX.esm.js";import{Q as q,C as ft,L as se,N as ce,b as de,A as vt,a as ht,e as yt}from"./EmptyState-B61uP7xJ.esm.js";import{HeaderTabs as Et,MarkdownContent as kt,Link as X}from"@backstage/core-components";import Ct from"@material-ui/icons/ExpandMore";import bt from"@material-ui/icons/ArrowDropDown";import wt from"@material-ui/icons/ArrowDropUp";import{makeStyles as pe}from"@material-ui/core/styles";import{motion as me}from"framer-motion";import{R as Nt}from"./RefetchingIndicator-ByFQ51Yf.esm.js";import{VariableSizeGrid as xt}from"react-window";import{Skeleton as j}from"@material-ui/lab";import{countBy as ue}from"lodash";function Rt(e,a,n,r){const l=x(H);return I(["soundcheck/track-overview-for-owner",e,a,n,r],async()=>l.getProgramOverviewForOwner(e,a,n,r),{enabled:!!e&&!!(a!=null&&a.kind),staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}function ge(){const e=x(M);return I(["soundcheck/all-groups"],async()=>{const{items:a}=await e.getEntities({filter:{kind:"Group"},fields:["spec.profile.displayName","metadata.title","metadata.name","metadata.namespace","kind"]});return a.filter(n=>(n==null?void 0:n.kind)==="Group").map(n=>{var r,l,s,i;return{name:(i=(s=(l=(r=n.spec)==null?void 0:r.profile)==null?void 0:l.displayName)!=null?s:n.metadata.title)!=null?i:n.metadata.name,ref:K(n)}})},{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}function Pt(){const e=x(te),a=x(M);return I(["soundcheck/user-groups-claims"],async()=>{const{ownershipEntityRefs:n}=await e.getBackstageIdentity();return(await a.getEntitiesByRefs({entityRefs:n})).items.filter(r=>(r==null?void 0:r.kind)==="Group").map(r=>{var l,s,i,c,o;return{name:(c=(i=(s=(l=r.spec)==null?void 0:l.profile)==null?void 0:s.displayName)!=null?i:r.metadata.title)!=null?c:r.metadata.name,ref:K(r),type:(o=r.spec)==null?void 0:o.type}})})}function fe(e){const a=x(H);return I([q.GetCampaigns,JSON.stringify(e)],async()=>a.getCampaigns(e),{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}function $t(e){const a=x(H);return I(["soundcheck/facets-for-owner",e],async()=>a.getFacetsForOwner(e),{enabled:!!e,staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}const ve=e=>{const a=x(H);return I([q.GetIndividualEntityPassRateSnapshots,{...e,filter:{...e==null?void 0:e.filter,numberOfDays:0}}],async()=>a.getIndividualEntityPassRates({...e,filter:{...e==null?void 0:e.filter,numberOfDays:0}}),{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})},he={loading:!0},ye=_e(he),Tt=()=>Ke(ye),St=({children:e})=>{const[a,n]=$(he),r=x(M),l=x(te),{value:s,loading:i,error:c}=qe(async()=>{const[{token:o},d]=await Promise.all([l.getCredentials(),l.getBackstageIdentity()]);return o?await r.getEntityByRef(d.userEntityRef):null},[r,l]);return T(()=>{if(s){const o=K(s);n({user:s,userEntityRef:o,loading:i,error:c})}else n({loading:i,error:c})},[s,i,c]),t.createElement(ye.Provider,{value:a},e)},Ee=()=>{const{data:e,isLoading:a,isError:n}=Pt(),{data:r,isLoading:l,isError:s}=ge();return{options:F(()=>{const i=new Map;return e&&e.forEach(({name:c,ref:o,type:d})=>{i.set(`${o}`,{name:c,ref:o,type:d,key:"My Groups"})}),r&&r.forEach(({name:c,ref:o})=>{i.has(`${o}`)||i.set(`${o}`,{name:c,ref:o,key:"All Groups"})}),[...i.values()]},[e,r]),isLoading:a||l,isError:n||s}},It=E(e=>({root:{width:"100%",minWidth:250},textField:{"& $notchedOutline":{borderColor:Xe(e.page.fontColor,.25)},"&:hover $notchedOutline":{borderColor:e.page.fontColor}},input:{backgroundColor:"transparent",color:e.page.fontColor},clearIndicator:{color:e.page.fontColor},popupIndicator:{color:e.page.fontColor},notchedOutline:{}}),{name:"SoundcheckGroupSelector"}),Lt=({setError:e})=>{const{options:a,isLoading:n,isError:r}=Ee(),l=It(),[s,i]=J(),[c,o]=dt("soundcheck.overview.groupRef",null),d=s.get("group"),m=x(Ue).getOptionalString("soundcheck.overview.defaultSelectedGroupType"),f=F(()=>{var u,h;if(!n&&a.length){if(d||c){const y=d!=null?d:c;return(u=a.find(k=>k.ref===y))!=null?u:a[0]}else if(m)return(h=a.find(y=>y.type===m))!=null?h:a[0];return a[0]}return null},[m,n,a,d,c]),p=S((u,h)=>{u&&s.get("group")!==u&&(s.set("group",u),i(s,{replace:h}),o(u))},[s,o,i]),v=S((u,h)=>{p==null||p(h==null?void 0:h.ref)},[p]);return T(()=>{c&&!d&&p(c,!0)},[c,d,p]),T(()=>{p(f==null?void 0:f.ref,!0)},[p,f]),T(()=>{e==null||e(r?new Error("Error loading groups"):void 0)},[r,e]),r?null:t.createElement(st,{"aria-label":"Current group",className:l.root,classes:{clearIndicator:l.clearIndicator,popupIndicator:l.popupIndicator},disableClearable:!0,options:a!=null?a:[],loading:n,groupBy:u=>u.key,value:f,freeSolo:!1,onChange:v,getOptionLabel:u=>u.name,renderInput:u=>t.createElement(Ye,{...u,variant:"outlined",placeholder:n?"Loading":"Select a group",className:l.textField,InputProps:{...u.InputProps,className:l.input,classes:{notchedOutline:l.notchedOutline},endAdornment:t.createElement(t.Fragment,null,n?t.createElement(re,{color:"inherit",size:20}):null,u.InputProps.endAdornment)}})})},Ot=E(e=>({loadingContainer:{marginTop:e.spacing(1),display:"flex",justifyContent:"center",alignItems:"center",height:"100%"}})),ke=({size:e})=>{const a=Ot();return t.createElement(N,{container:!0,className:a.loadingContainer},t.createElement(re,{size:e}))},Ft=pe(e=>({detailRow:{marginBottom:e.spacing(1)},label:{fontWeight:"bold",color:e.palette.text.primary},value:{marginLeft:e.spacing(1)}})),O=({label:e,value:a})=>{const n=Ft();return t.createElement(N,{item:!0,xs:12,container:!0,className:n.detailRow,alignItems:"center"},t.createElement(g,{variant:"subtitle1",className:n.label},e,":"),t.createElement(g,{variant:"body1",display:"inline",className:n.value},a))},At=pe(e=>({innerContainer:{padding:e.spacing(0,1)},sectionLabel:{margin:e.spacing(2,0)},ownerLink:{"& span":{"&:hover":{textDecoration:"underline"}}}})),V=e=>new Date(e).toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"}),zt=({campaign:e})=>{const a=At(),{name:n,description:r,ownerEntityRef:l,startDate:s,targetCompletionDate:i,supportChannel:c}=e;return t.createElement(t.Fragment,null,t.createElement(g,{color:"textPrimary",variant:"h5",className:a.sectionLabel},"Campaign Details"),t.createElement(N,{container:!0,className:a.innerContainer,spacing:2},t.createElement(N,{item:!0,container:!0,xs:12,spacing:0},t.createElement(O,{label:"Name",value:n}),t.createElement(O,{label:"Description",value:r}),t.createElement(O,{label:"Owner",value:t.createElement(ae,{className:a.ownerLink,entityRef:l})}),c&&t.createElement(O,{label:"Support channel",value:c}),t.createElement(O,{label:"Start date",value:V(s)}),t.createElement(O,{label:"Target completion date",value:V(i)}))))};function Bt({angle:e,arc:a,direction:n,dist:r,emoji:l,delay:s,fontSize:i,speed:c}){return t.createElement(me.div,{style:{position:"absolute",fontSize:i},initial:{top:0,left:"50%",x:"-50%",y:"-100%",rotate:0,originX:`${a*n}px`,originY:`${a}px`},animate:{opacity:[0,1,0,0,0,0],y:`${-r}px`,rotate:e*n},transition:{delay:s,duration:c,ease:[.2,.83,.46,.63],repeat:1/0}},l)}const Dt=["\u{1F4C8}","\u{1F4CA}","\u{1F4C9}","\u{1F680}","\u2B50\uFE0F"],Wt=E(()=>({container:{position:"relative"}}));function Gt({angle:e=125,density:a=20,emojis:n=Dt,fontSizeMin:r=6,fontSizeMax:l=24,size:s=300,speed:i=4}){const c=Wt(),o=F(()=>Array.from({length:a*n.length}).map((d,m)=>({emoji:n[Math.floor(Math.random()*n.length)],arc:Math.random()*s*.5,delay:Math.random()*i,dist:Math.random()*s,direction:m%2?1:-1,fontSize:Math.random()*(l-r)+r,angle:e,speed:i})),[a,n,i,s,e,l,r]);return t.createElement("div",{className:c.container},t.createElement(g,{variant:"h1"},"\u{1F469}\u200D\u{1F4BB}"),o.map((d,m)=>t.createElement(Bt,{key:`${d.emoji}-${m}`,...d})))}const Mt=E(()=>({container:{position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",flex:1,height:"100%"},textContainer:{position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"}}));function Ce({title:e,subtitle:a}){const n=Mt();return t.createElement("div",{className:n.container},t.createElement("div",{className:n.textContainer},t.createElement(Gt,null),t.createElement(me.div,{animate:{y:0,opacity:1},initial:{y:100,opacity:0}},e&&t.createElement(g,{align:"center",variant:"h6"},e),a&&t.createElement(g,{align:"center",variant:"subtitle2"},a))))}const Ht=E(e=>({campaignCards:{display:"flex",flexDirection:"column"},campaignCard:{display:"flex",flexDirection:"column",border:`1px solid ${e.palette.divider}`,padding:e.spacing(2),gap:e.spacing(5),borderRadius:e.shape.borderRadius},actions:{display:"flex",alignItems:"center",gap:e.spacing(1)},actionsText:{textTransform:"lowercase","&:first-letter":{textTransform:"uppercase"}},flexRow:{display:"flex",gap:e.spacing(1)},campaignDescription:{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},progress:{display:"flex",alignItems:"center",gap:e.spacing(1),width:"90%"},flexColumn:{width:"100%",display:"flex",flexDirection:"column",gap:e.spacing(1)},detailSection:{display:"flex",flexDirection:"row",justifyContent:"space-between",gap:e.spacing(.5)},label:{fontWeight:"bold",color:e.palette.text.primary},value:{marginTop:"2px"},description:{maxWidth:"90%"},menuList:{backgroundColor:e.palette.background.paper},ownerLink:{"& span":{"&:hover":{textDecoration:"underline"}}}})),jt=e=>{var a;let n=0;return e==null||e.edges.forEach(({node:r})=>{n+=r.snapshotPassRate}),Math.round(n/((a=e==null?void 0:e.edges.length)!=null?a:1))},Vt=e=>e==null?void 0:e.edges.filter(({node:a})=>a.snapshotPassRate===100).length,Ut=e=>{if(e!=null&&e.edges.length){const a=Vt(e);return t.createElement(g,{variant:"body2"},a,"/",e.edges.length)}return t.createElement(g,{variant:"body2"},"No progress found.")},_t=({campaign:e})=>{var a;const n=Ht(),r=D(pt),l=D(mt),s=ct(),[i,c]=$(null),o=150,d=e.track.levels.flatMap(({checks:_})=>_.map(({id:Ve})=>Ve)),{data:m,isLoading:f,isError:p}=ve({filter:{tracks:[{trackId:e.track.id}],checkIds:{included:d}}}),v=(a=m==null?void 0:m.individualEntityPassRates)!=null?a:{totalCount:0,edges:[],pageInfo:{hasNextPage:!1,hasPreviousPage:!1}},u=_=>{c(_.currentTarget)},h=()=>{c(null)},y=()=>{s(l({campaignId:e.id}))},k=()=>{s(r({campaignId:e.id}))};if(f)return t.createElement("div",{"data-testid":"loading-indicator"},t.createElement(Ce,null));if(p)return t.createElement(g,{color:"error"},"Failed to load campaigns progress.");const R=v.edges.length?jt(v):0,C=Ut(v),{name:b,description:w,ownerEntityRef:z,targetCompletionDate:B,startDate:je,supportChannel:ee}=e;return t.createElement("div",{className:n.campaignCards},t.createElement("div",{className:n.campaignCard},t.createElement("div",{className:n.flexRow,style:{justifyContent:"space-between"}},t.createElement("div",{className:n.flexColumn},t.createElement(g,{variant:"h5"},b),t.createElement(g,{variant:"body1",className:n.description},w.length>o?`${w.substring(0,o)}...`:w)),t.createElement("div",null,t.createElement(Ze,{variant:"text","aria-controls":"menu","aria-haspopup":"true",onClick:u},t.createElement("div",{className:n.actions},t.createElement("div",{className:n.actionsText},"Actions"),t.createElement("div",{className:n.flexRow},i?t.createElement(wt,{fontSize:"small"}):t.createElement(bt,{fontSize:"small"})))),t.createElement(et,{id:"campaign-menu",anchorEl:i,keepMounted:!0,open:!!i,onClose:h,classes:{list:n.menuList}},t.createElement(le,{onClick:k},"View"),t.createElement(le,{onClick:y},"Edit")))),t.createElement("div",{className:n.detailSection},t.createElement("div",{className:n.flexColumn},t.createElement("div",{className:n.flexRow},t.createElement(g,{variant:"subtitle1",className:n.label},"Owner:"),t.createElement(g,{variant:"body1",display:"inline",className:n.value},t.createElement(ae,{className:n.ownerLink,entityRef:z}))),ee&&t.createElement("div",{className:n.flexRow},t.createElement(g,{variant:"subtitle1",className:n.label},"Support Channel:"),t.createElement(g,{variant:"body1",display:"inline",className:n.value},ee))),t.createElement("div",{className:n.flexColumn},t.createElement("div",{className:n.flexRow},t.createElement(g,{variant:"subtitle1",className:n.label},"Start Date:"),t.createElement(g,{variant:"body1",display:"inline",className:n.value},V(je))),t.createElement("div",{className:n.flexRow},t.createElement(g,{variant:"subtitle1",className:n.label},"Target Completion Date:"),t.createElement(g,{variant:"body1",display:"inline",className:n.value},V(B)))),t.createElement("div",{className:n.flexRow,style:{minWidth:"300px"}},t.createElement("div",{className:n.flexColumn},t.createElement(g,{variant:"subtitle1",className:n.label},"Checks Passing"),t.createElement(g,{variant:"body2"},R,"%")),t.createElement("div",{className:n.flexColumn},t.createElement(g,{variant:"subtitle1",className:n.label},"Entities Complete"),C)))))},Kt=E(e=>({root:{borderTop:`1px solid ${e.palette.divider}`,borderBottom:`1px solid ${e.palette.divider}`},tab:{textTransform:"uppercase",paddingTop:e.spacing(2),paddingBottom:e.spacing(2)}})),Qt=({unfilteredFacets:e,onChange:a,kind:n,type:r})=>{var l,s,i;const c=Kt(),o={types:(l=e==null?void 0:e.types.filter(({count:p})=>p>0))!=null?l:[]},d=S((p,v)=>{var u;a((u=o==null?void 0:o.types[v].kind)!=null?u:"",o==null?void 0:o.types[v].type)},[o==null?void 0:o.types,a]);T(()=>{var p,v,u;const h=(o==null?void 0:o.types)&&o.types.length>=0,y=!n&&h,k=n&&h&&!(o!=null&&o.types.find(({kind:R,type:C})=>n===R&&(!r&&!C||r===C)));(y||k)&&a((v=(p=o==null?void 0:o.types[0])==null?void 0:p.kind)!=null?v:"",(u=o==null?void 0:o.types[0])==null?void 0:u.type,!0)},[n,r,o==null?void 0:o.types,a]);const m=(s=o==null?void 0:o.types.map(({kind:p,type:v,count:u})=>{const h=`${p}|${v!=null?v:""}`;return{key:h,label:`${v!=null?v:p} (${u>50?"50+":u})`,id:h,className:c.tab}}))!=null?s:[];if(!m.length)return null;const f=(i=o==null?void 0:o.types.findIndex(p=>p.kind===n&&(!p.type&&!r||p.type===r)))!=null?i:-1;return t.createElement(t.Fragment,null,t.createElement(Nt,null),t.createElement(tt,{onChange:d,indicatorColor:"primary",variant:"scrollable",value:f>-1?f:void 0},m.map(p=>t.createElement(at,{...p}))))},Jt=e=>({key:`skeleton${e}`,label:"",id:`skeleton${e}`}),qt=()=>{const e=Array.from({length:4},(a,n)=>Jt(n));return t.createElement(Et,{tabs:e})};var be=(e=>(e.Alpha="default",e.Owner="all",e.Status="all",e))(be||{});const U=12,Xt=E(e=>({pagination:{width:"-webkit-fill-available",display:"flex",justifyContent:"center",position:"fixed",bottom:"0",backgroundColor:e.palette.background.paper,borderTop:`1px solid ${e.palette.divider}`,marginRight:"40px"}})),Yt=({response:e,listingsPerPage:a,cursor:n,setCursor:r,prevCursors:l,setPrevCursors:s,labelPerPageDropdown:i,urlRoute:c})=>{var o;const d=Xt(),m=e!=null&&e.edges?e==null?void 0:e.edges[(e==null?void 0:e.edges.length)-1]:{cursor:""},[f,p]=$(0),v=()=>{s(k=>[...k,n]),r(m==null?void 0:m.cursor)},u=()=>{r(l[l.length-1]),s(k=>k.slice(0,-1))},h=(k,R)=>{p(C=>(R>C?v():u(),R))},y=k=>{window.open(`/soundcheck/${c!=null?c:"tracks?tracksPerPage="}${k.target.value}`,"_self")};return t.createElement(oe,{className:d.pagination,component:"div",count:(o=e==null?void 0:e.totalCount)!=null?o:-1,rowsPerPage:a!=null?a:10,onPageChange:h,page:f,onRowsPerPageChange:y,labelRowsPerPage:i!=null?i:"Listings per page:",rowsPerPageOptions:[U,U*2,U*4]})},Zt=E(e=>({pagination:{width:"-webkit-fill-available",display:"flex",justifyContent:"center",position:"fixed",bottom:"0",left:"0",backgroundColor:e.palette.background.paper,borderTop:`1px solid ${e.palette.divider}`,zIndex:1e3}})),we=({defaultPageSize:e,label:a})=>{const[n,r]=$(),[l,s]=J(),i=l.get(a),c=i?parseInt(i,10):e,[o,d]=$(0),m=S(f=>{var p;l.set("entitiesPerPage",(p=f.target.value)!=null?p:e),s(l,{replace:!0}),d(0),r(void 0)},[e,l,s]);return{cursor:n,setCursor:r,pageSize:c,currentPage:o,setCurrentPage:d,onRowsPerPageChange:m}},Ne=({totalCount:e,setCursor:a,endCursor:n,prevCursor:r,defaultPageSize:l,currentPage:s,setCurrentPage:i,onRowsPerPageChange:c,pageSize:o,labelRowsPerPage:d,rowsPerPageOptions:m})=>{const f=Zt(),p=S(()=>{n&&a(n)},[n,a]),v=S(()=>{r&&a(r)},[r,a]),u=(h,y)=>{i(k=>(y>k?p():y<k&&v(),y))};return t.createElement(oe,{className:f.pagination,component:"div",count:e,page:s,onPageChange:u,rowsPerPage:o!=null?o:l,onRowsPerPageChange:c,labelRowsPerPage:d,rowsPerPageOptions:m!=null?m:[l,l*2,l*4]})},ea=E(e=>({table:{backgroundColor:e.palette.background.paper,borderCollapse:"collapse",whiteSpace:"nowrap","& th, & td":{border:`1px solid ${e.palette.divider}`,borderCollapse:"collapse"},paddingBottom:e.spacing(2)},programTitle:{padding:e.spacing(2)},checkResult:{padding:e.spacing(1.5)},title:{padding:`${e.spacing(1)}px ${e.spacing(2)}px`},header:{backgroundColor:e.palette.action.hover}})),xe=({entityCount:e=25,levelCount:a=3,checkCount:n=5})=>{const r=ea(),l=new Array(e).fill(void 0),s=new Array(n).fill(void 0),i=new Array(a).fill(void 0);return t.createElement("table",{className:r.table},t.createElement("tbody",null,t.createElement("tr",null,t.createElement("td",{className:r.programTitle},t.createElement(j,{width:180,height:40})),l.map((c,o)=>t.createElement("td",{key:o}))),i.map((c,o)=>t.createElement(t.Fragment,{key:o},t.createElement("tr",{className:r.header},t.createElement("td",{className:r.title},t.createElement(j,{width:180})),l.map((d,m)=>t.createElement("td",{key:m}))),s.map((d,m)=>t.createElement("tr",{key:m},t.createElement("td",{className:r.title},t.createElement(j,{width:240})),l.map((f,p)=>t.createElement("td",{key:p,className:r.checkResult},t.createElement(j,{width:18,height:18,variant:"rect"})))))))))},Re=nt(e=>{const a=e.palette.type==="dark"?e.palette.common.black:e.palette.grey[300];return{tooltip:{backgroundColor:a,color:e.palette.text.primary,maxWidth:"400px"},arrow:{color:a}}})(ie),ta=E(e=>({headerWrapper:{marginTop:e.spacing(.5)},entityRefName:{fontWeight:"bold"},iconWrapper:{padding:e.spacing(1.5,.5),display:"flex",alignItems:"center",justifyContent:"center"}})),aa=({check:{name:e,description:a},icon:n,entityRef:r})=>{const l=ta(),s=G(r);return t.createElement(N,{spacing:1},t.createElement(N,{container:!0,direction:"row",spacing:1,wrap:"nowrap"},t.createElement("div",{className:l.iconWrapper},n),t.createElement(g,{variant:"h6",className:l.headerWrapper,noWrap:!0},e)),t.createElement(N,{item:!0,wrap:"nowrap"},t.createElement(g,{variant:"subtitle2",className:l.entityRefName},Q(s,{defaultKind:s.kind}))),t.createElement(kt,{content:a}))},na=({children:e,check:a,icon:n,entityRef:r})=>t.createElement(Re,{arrow:!0,title:t.createElement(aa,{check:a,icon:n,entityRef:r}),enterDelay:150,placement:"top"},e),ra=E(e=>({root:{padding:0},iconWrapper:{padding:e.spacing(1.5),display:"flex",alignItems:"center",justifyContent:"center"},link:{"&:hover $iconWrapper, &:active $iconWrapper, &:focus $iconWrapper":{backgroundColor:e.palette.action.hover}},icon:{width:"17px",height:"17px"},virtualized:{borderBottom:`1px solid ${e.palette.divider}`,borderRight:`1px solid ${e.palette.divider}`}})),Pe=A(({programId:e,check:a,entityRef:n,result:r,entityRoute:l,isVirtualized:s})=>{const i=ra();if(typeof n!="string"){const m=t.createElement("div",{className:i.iconWrapper},t.createElement("div",{className:i.icon}));return s?t.createElement("div",{className:`${i.root} ${i.virtualized}`,"aria-hidden":!0},m):t.createElement("td",{className:i.root,"aria-hidden":!0},m)}const c=t.createElement(ft,{className:i.icon,result:r!=null?r:L.NotReported}),o=t.createElement("div",{className:i.iconWrapper},c),d=r&&r===L.NotApplicable?o:t.createElement(X,{className:i.link,to:`${l(G(n))}/soundcheck/tracks/${e}/checks/${a.id}`},o);return s?t.createElement("div",{className:`${i.root} ${i.virtualized}`},t.createElement(na,{check:a,icon:c,entityRef:n},d)):t.createElement("td",{className:`${i.root}`},d)}),$e=8,la=16,P={programTitle:70,levelTitle:30,check:42,entityRefFooter:100,paginationControl:50},W={programTitle:350+la*2,checkResult:42},Te=e=>e.reduce((a,n)=>a+n.height,0),oa=e=>e*W.checkResult+W.programTitle,Se=e=>e.filter(a=>a!==void 0).map(a=>{const n=G(a);return Q(n,{defaultKind:n.kind})}).reduce((a,n)=>a.length>n.length?a:n,""),Ie=e=>$e*e+$e,Le="NoLevel",ia=e=>({name:Le,badge:{options:{level:0,color:""},variant:ut.Medal},entityRef:e,ordinal:0}),sa=E(e=>({virtualized:{borderRight:`1px solid ${e.palette.divider}`,height:`${P.programTitle}px`,display:"flex",justifyContent:"center",alignItems:"center"}})),ca=A(({entityRef:e,highestLevels:a,trackType:n})=>{const r=a.find(s=>s.entityRef===e);let l=r!=null&&r.badge?t.createElement(se,{badge:r.badge}):t.createElement(ce,null);return n==="campaign"&&(l=t.createElement(de,null)),l}),da=({highestLevel:e,trackType:a})=>{const n=sa();if(!(e!=null&&e.badge))return t.createElement("div",{className:n.virtualized},"\xA0");let r=e.name!==Le?t.createElement(se,{badge:e.badge}):t.createElement(ce,null);return a==="campaign"&&(r=t.createElement(de,null)),t.createElement("div",{className:n.virtualized},r)},pa=E(e=>({root:{height:"8px",minWidth:"64px",marginLeft:e.spacing(2),borderRadius:"100vh",backgroundColor:e.palette.background.default},bar:{backgroundColor:e.palette.success.main,transition:"none"}})),Oe=e=>{var a,n;const r=pa(e),l=F(()=>Object.entries(e.progress).reduce((i,[,c])=>i+c,0),[e.progress]);if(l===0)return null;const s=(a=e.progress[L.Passed])!=null?a:0;return t.createElement(ie,{arrow:!0,title:`Check passing for ${s} of ${l} ${l===1?"entity":"entities"}`,enterDelay:0,placement:"top"},t.createElement(rt,{variant:"determinate",value:((n=e.progress[L.Passed])!=null?n:0)/l*100,classes:{root:r.root,bar:r.bar}}))},Fe=E(e=>({checkNameCell:{padding:0,backgroundColor:e.palette.background.paper},checkNameContent:{padding:`0 ${e.spacing(2)}px`,display:"flex",justifyContent:"space-between",alignItems:"center"},checkNameTypography:{overflow:"hidden",textOverflow:"ellipsis"},checkIndicator:{flexBasis:e.spacing(8)},checkNameCellVirtualized:{height:`${P.check}px`,lineHeight:`${P.check}px`,borderBottom:`1px solid ${e.palette.divider}`,borderRight:`1px solid ${e.palette.divider}`}}));A(({programId:e,programName:a,check:n,entityRefs:r,results:l,entityRoute:s})=>{const i=Fe(),c=F(()=>ue(l.filter(({result:d})=>d!==L.NotApplicable),"result"),[l]),o=new Map(l.map(d=>[d.entityRef,d.result]));return t.createElement("tr",{"data-testid":"track-check-row"},t.createElement("th",{scope:"row",className:i.checkNameCell,"aria-label":`${n.name} check for ${a} track`},t.createElement("div",{className:i.checkNameContent},t.createElement(g,{className:i.checkNameTypography,variant:"subtitle2",component:"p"},n.name),t.createElement(Oe,{className:i.checkIndicator,progress:c}))),r.map((d,m)=>t.createElement(Pe,{key:m,programId:e,check:n,entityRef:d,result:typeof d=="string"?o.get(d):void 0,entityRoute:s})))});const ma=({name:e,progress:a})=>{const n=Fe();return t.createElement("div",{className:n.checkNameCell,"aria-label":`${e} check`},t.createElement("div",{className:`${n.checkNameContent} ${n.checkNameCellVirtualized}`},t.createElement(g,{variant:"subtitle2",component:"p",className:n.checkNameTypography},e),t.createElement(Oe,{className:n.checkIndicator,progress:a})))},Y=E(e=>{const a=e.palette.action.hover;return{root:{color:e.palette.text.primary,backgroundColor:a},levelContent:{padding:`${e.spacing(.5)}px ${e.spacing(2)}px`,backgroundColor:a},levelTypography:{overflow:"hidden",textOverflow:"ellipsis"},levelHeaderCell:{padding:`${e.spacing(.5)}px ${e.spacing(2)}px`,borderRight:`1px solid ${e.palette.divider}`,height:`${P.levelTitle}px`}}});A(({level:e,entityRefs:a,programName:n})=>{const r=Y();return t.createElement("tr",{className:r.root,"data-testid":"track-level-row"},t.createElement("th",{scope:"row",className:r.root},t.createElement("div",{className:r.levelContent},t.createElement(g,{className:r.levelTypography,variant:"subtitle2",component:"p","aria-label":`${e.name} for ${n} track`},e.name))),a.map((l,s)=>t.createElement("td",{key:s,className:r.root,"aria-hidden":!0})))});const ua=({name:e})=>{const a=Y();return t.createElement("div",{className:`${a.levelHeaderCell} ${a.root}`,"aria-label":`${e}`},t.createElement(g,{variant:"subtitle2",component:"p",className:a.levelTypography},e))},ga=()=>{const e=Y();return t.createElement("div",{className:`${e.levelHeaderCell} ${e.root}`},"\xA0")},Ae=E(e=>({programNameCell:{padding:0,position:"sticky",backgroundColor:e.palette.background.paper},programNameContent:{padding:e.spacing(2)},programNameTypography:{overflow:"hidden",textOverflow:"ellipsis"},badgeCellContent:{display:"flex",justifyContent:"center",alignItems:"center"},programNameCellVirtualized:{borderRight:`1px solid ${e.palette.divider}`}}));A(({program:e,entityRefs:a,highestLevels:n})=>{const r=Ae();return t.createElement("tr",{"data-testid":"track-title-row"},t.createElement("th",{scope:"row",className:r.programNameCell},t.createElement("div",{className:r.programNameContent},t.createElement(g,{className:r.programNameTypography,variant:"h5",component:"p"},e.name))),a.map((l,s)=>{var i;return typeof l!="string"?t.createElement("td",{key:s,"aria-hidden":!0}):t.createElement("td",{key:s,"data-testid":"track-certification-cell"},t.createElement("div",{className:r.badgeCellContent},t.createElement(ca,{entityRef:l,highestLevels:n,trackType:(i=e.type)!=null?i:void 0})))}))});const fa=A(({name:e})=>{const a=Ae();return t.createElement("div",{className:`${a.programNameCell} ${a.programNameCellVirtualized}`},t.createElement("div",{className:a.programNameContent},t.createElement(g,{className:a.programNameTypography,variant:"h5",component:"p"},e)))}),ze=e=>{const a=x(M);return I([q.EntityByRef,e],async()=>a.getEntityByRef(e),{onError:()=>{},enabled:!!e})},va=E(e=>({root:{position:"sticky",bottom:"-1px",backgroundColor:e.palette.background.default,boxShadow:`0 -1px ${e.palette.divider}`,"& td$cell, & th$cell":{border:0,padding:e.spacing(1)},"& td$cell":{backgroundColor:e.palette.background.default}},row:{boxShadow:`1px 0 ${e.palette.background.default}, -1px 0 ${e.palette.background.default}`},cell:{verticalAlign:"top"},cellInner:{textOrientation:"mixed",writingMode:"vertical-lr",transform:"rotate(-20deg)",transformOrigin:`100% ${e.spacing(1)}px`,wordBreak:"keep-all",fontWeight:"bold",overflow:"hidden",textOverflow:"ellipsis",maxHeight:"max(15vh, 175px)"}})),ha=({entityRef:e})=>{const{data:a}=ze(e),n=D(ne),r=va(),l=e?G(e):void 0,s=l?t.createElement(X,{to:n(l)},a!=null&&a.metadata.title?a.metadata.title:Q(l,{defaultKind:l.kind})):t.createElement(t.Fragment,null);return t.createElement("div",{className:r.cell},t.createElement("div",{className:r.cellInner},s))},ya=e=>t.createElement(fa,{name:e}),Ea=e=>({type:"ProgramHeader",render:()=>ya(e)}),ka=e=>e?t.createElement(ua,{name:e}):t.createElement(ga,null),Be=e=>({type:"LevelHeader",render:()=>ka(e)}),Ca=(e,a)=>t.createElement(ma,{name:e,progress:a}),De=(e,a)=>({type:"CheckTitle",render:()=>Ca(e,a)}),ba=(e,a,n,r,l)=>t.createElement(Pe,{check:a,entityRef:n,entityRoute:l,programId:e,result:r,isVirtualized:!0}),We=(e,a,n,r,l)=>({type:"CheckResult",render:()=>ba(e,a,n,r,l)}),wa=e=>t.createElement(ha,{entityRef:e}),Z=e=>({type:"EntityHeader",render:()=>wa(e)}),Na=(e,a)=>t.createElement(da,{highestLevel:e,trackType:a}),xa=(e,a)=>({type:"LevelBadge",render:()=>Na(e,a)}),Ge=e=>a=>{const n=e[a.rowIndex].cells[a.columnIndex];return n?t.createElement("div",{style:a.style},n.render()):t.createElement("div",{style:a.style})},Ra=(e,a,n)=>{var r;const l=[];for(const{program:i,levels:c,highestLevels:o}of e){l.push({height:P.programTitle,cells:[Ea(i.name),...a.map(d=>{var m;const f=d?o.find(p=>p.entityRef===d)||ia(d):void 0;return xa(f,(m=i.type)!=null?m:void 0)})]});for(const d of c){l.push({height:P.levelTitle,cells:[Be(d.name),...a.map(m=>Be(""))]});for(const{check:m,results:f}of d.checks)l.push({height:P.check,cells:[De(m.name,ue(f.filter(({result:p})=>p!==L.NotApplicable),"result")),...a.map(p=>{var v,u;return We(i.id,m,p,(u=(v=f.find(h=>h.entityRef===p))==null?void 0:v.result)!=null?u:L.NotApplicable,n)})]})}}const s=Se(a!=null?a:[]);return l.push({height:Ie((r=s.length)!=null?r:1),cells:[Z(""),...a.map(i=>Z(i||""))]}),l},Me=25,Pa=E(e=>({table:{backgroundColor:e.palette.background.paper,borderCollapse:"collapse",whiteSpace:"nowrap",textAlign:"left",overflow:"auto"}})),$a=({setError:e,kind:a,type:n,ownerEntityRef:r})=>{const{cursor:l,pageSize:s,...i}=we({defaultPageSize:Me,label:"entitiesPerPage"}),{data:c,isLoading:o,isError:d}=Rt(r,{kind:a,type:n},s,l),m=Pa(),f=D(ne);T(()=>{e==null||e(d?new Error("Error loading program overview"):void 0)},[d,e]);const[p,v]=$(0),u=Qe(null);if(Je(()=>{c&&r&&u!=null&&u.current&&v(u.current.clientWidth)},[u,c,r]),o)return t.createElement(xe,null);if(!c||!r)return null;const{programs:h,entityRefs:y,totalCount:k,endCursor:R,prevCursor:C}=c,b=y.length>=25?y:[...y,...Array.from({length:25-y.length},()=>{})],w=Ra(h,b,f),z=Ge(w);return t.createElement("div",{ref:u},t.createElement(N,{"aria-label":`Check results for ${n!=null?n:a}`,key:`${a}|${n!=null?n:""}`,item:!0,xs:12},p>0&&t.createElement(xt,{className:m.table,columnCount:b.length+1,columnWidth:B=>B===0?W.programTitle:W.checkResult,rowCount:w.length,rowHeight:B=>w[B].height,height:Te(w)+P.paginationControl,width:p},z)),t.createElement(Ne,{...i,totalCount:k,defaultPageSize:Me,endCursor:R,prevCursor:C,pageSize:s,labelRowsPerPage:"Entities per page:"}))},Ta=({facets:e,ownerEntityRef:a,kind:n,type:r,setError:l})=>{const s=F(()=>{const i=new Map;return e.types.forEach(({kind:c,type:o})=>{const d=`${c}|${o!=null?o:""}`;i.set(d,t.createElement($a,{key:d,ownerEntityRef:a,kind:c,type:o,setError:l}))}),i},[e,a,l]);return t.createElement("div",null,s.get(`${n}|${r!=null?r:""}`))},Sa=E(()=>({scrollContainer:{overflow:"auto"}})),Ia=({facets:e,ownerEntityRef:a,hasError:n,kind:r,type:l,setError:s,isFixedGroup:i})=>{var c,o,d;const m=Sa();if(n)return t.createElement(vt,{severity:"error",title:n.message});const f="Use the groups drop-down list at the top-right of the page to select another group.";return e&&((o=(c=e.types)==null?void 0:c.length)!=null?o:0)>0?(d=e.types)!=null&&d.find(p=>p.count>0)?t.createElement("div",{className:m.scrollContainer},t.createElement(Ta,{facets:e,kind:r,type:l,setError:s,ownerEntityRef:a,hasError:n})):t.createElement(ht,{ownerEntityRef:a,selectGroupHint:f}):t.createElement(yt,{ownerEntityRef:a,selectGroupHint:i?void 0:f})},La=E(e=>({tableContainer:{padding:0,backgroundColor:"transparent"},campaignsGrid:{margin:`0 0 ${e.spacing(3)}px`,border:`1px solid ${e.palette.divider}`},campaignsCard:{display:"flex",width:"100%",flexDirection:"column",padding:e.spacing(2),gap:e.spacing(2)},campaignsLink:{textAlign:"center",margin:`${e.spacing(1)}rem 0 ${e.spacing(1)}`},tableLoading:{backgroundColor:e.palette.background.paper,padding:e.spacing(6)},noPadding:{padding:0},accordion:{boxShadow:"none"}})),He=3,Oa=({groupSelectorError:e,isFixedGroup:a=!1})=>{const[n,r]=J(),{group:l,kind:s,type:i}=Object.fromEntries(n.entries()),c=D(gt),[o,d]=$(void 0),[m,f]=$(void 0);T(()=>{((o==null?void 0:o.kind)!==s||(o==null?void 0:o.type)!==i)&&d({kind:s,type:i})},[s,i,o]);const{data:p,isLoading:v}=$t(l),{data:u}=fe({orderAlphabetical:"default",searchByOwner:l,searchByStatus:"active"}),h=u==null?void 0:u.edges.map(b=>b.node),y=h==null?void 0:h.slice(0,He),k=m||e,R=S((b,w,z)=>{b&&(d({kind:b,type:w}),w?(n.set("kind",b),n.set("type",w)):(n.delete("type"),n.set("kind",b)),r(n,{replace:z}))},[n,r]),C=La();return t.createElement(N,{container:!0,spacing:0},h&&h.length>0&&t.createElement(N,{item:!0,xs:12,className:C.campaignsGrid},t.createElement(lt,{style:{boxShadow:"none"}},t.createElement(ot,{expandIcon:t.createElement(Ct,null)},t.createElement(g,{variant:"h6"},"Campaigns")),t.createElement(it,null,t.createElement("div",{className:C.campaignsCard},y==null?void 0:y.map(b=>t.createElement("div",{key:b.id},t.createElement(_t,{campaign:b})))),h.length>He&&t.createElement(X,{to:c(),className:C.campaignsLink},"More Campaigns")))),t.createElement(N,{item:!0,xs:12,className:C.noPadding},v?t.createElement(qt,null):t.createElement(Qt,{unfilteredFacets:p,kind:o==null?void 0:o.kind,type:o==null?void 0:o.type,onChange:R})),t.createElement(N,{item:!0,xs:12,className:C.tableContainer},v?t.createElement("div",{className:C.tableLoading},t.createElement(ke,{size:80})):t.createElement(Ia,{facets:p,kind:o==null?void 0:o.kind,type:o==null?void 0:o.type,setError:f,hasError:k,ownerEntityRef:l,isFixedGroup:a})))};export{O as C,be as F,Lt as G,ke as L,Oa as O,Yt as P,U as R,Re as S,St as U,Tt as a,Ee as b,W as c,Te as d,oa as e,P as f,De as g,We as h,Se as i,Ie as j,Z as k,Ge as l,we as m,xe as n,Ne as o,Ce as p,zt as q,ge as r,ze as s,ve as t,fe as u};
|
|
2
|
-
//# sourceMappingURL=OverviewPageContent-
|
|
1
|
+
import{stringifyEntityRef as K,parseEntityRef as G}from"@backstage/catalog-model";import{useApi as x,identityApiRef as te,configApiRef as Ue,useRouteRef as D}from"@backstage/core-plugin-api";import{catalogApiRef as M,EntityRefLink as ae,humanizeEntityRef as Q,entityRouteRef as ne}from"@backstage/plugin-catalog-react";import t,{createContext as _e,useState as $,useEffect as T,useContext as Ke,useMemo as F,useCallback as S,memo as A,useRef as Qe,useLayoutEffect as Je}from"react";import qe from"react-use/lib/useAsync";import{makeStyles as E,alpha as Xe,TextField as Ye,CircularProgress as re,Grid as N,Typography as g,Button as Ze,Menu as et,MenuItem as le,Tabs as tt,Tab as at,TablePagination as oe,withStyles as nt,Tooltip as ie,LinearProgress as rt,Accordion as lt,AccordionSummary as ot,AccordionDetails as it}from"@material-ui/core";import st from"@material-ui/lab/Autocomplete";import{useSearchParams as J,useNavigate as ct}from"react-router-dom";import dt from"react-use/lib/useLocalStorage";import{useQuery as I}from"@tanstack/react-query";import{s as H,h as pt,i as mt,R as L,B as ut,j as gt}from"./routes-DcGwdXHX.esm.js";import{Q as q,C as ft,L as se,N as ce,b as de,A as vt,a as ht,e as yt}from"./EmptyState-C2zsaDrr.esm.js";import{HeaderTabs as Et,MarkdownContent as kt,Link as X}from"@backstage/core-components";import Ct from"@material-ui/icons/ExpandMore";import bt from"@material-ui/icons/ArrowDropDown";import wt from"@material-ui/icons/ArrowDropUp";import{makeStyles as pe}from"@material-ui/core/styles";import{motion as me}from"framer-motion";import{R as Nt}from"./RefetchingIndicator-BrP7yEiB.esm.js";import{VariableSizeGrid as xt}from"react-window";import{Skeleton as j}from"@material-ui/lab";import{countBy as ue}from"lodash";function Rt(e,a,n,r){const l=x(H);return I(["soundcheck/track-overview-for-owner",e,a,n,r],async()=>l.getProgramOverviewForOwner(e,a,n,r),{enabled:!!e&&!!(a!=null&&a.kind),staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}function ge(){const e=x(M);return I(["soundcheck/all-groups"],async()=>{const{items:a}=await e.getEntities({filter:{kind:"Group"},fields:["spec.profile.displayName","metadata.title","metadata.name","metadata.namespace","kind"]});return a.filter(n=>(n==null?void 0:n.kind)==="Group").map(n=>{var r,l,s,i;return{name:(i=(s=(l=(r=n.spec)==null?void 0:r.profile)==null?void 0:l.displayName)!=null?s:n.metadata.title)!=null?i:n.metadata.name,ref:K(n)}})},{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}function Pt(){const e=x(te),a=x(M);return I(["soundcheck/user-groups-claims"],async()=>{const{ownershipEntityRefs:n}=await e.getBackstageIdentity();return(await a.getEntitiesByRefs({entityRefs:n})).items.filter(r=>(r==null?void 0:r.kind)==="Group").map(r=>{var l,s,i,c,o;return{name:(c=(i=(s=(l=r.spec)==null?void 0:l.profile)==null?void 0:s.displayName)!=null?i:r.metadata.title)!=null?c:r.metadata.name,ref:K(r),type:(o=r.spec)==null?void 0:o.type}})})}function fe(e){const a=x(H);return I([q.GetCampaigns,JSON.stringify(e)],async()=>a.getCampaigns(e),{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}function $t(e){const a=x(H);return I(["soundcheck/facets-for-owner",e],async()=>a.getFacetsForOwner(e),{enabled:!!e,staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}const ve=e=>{const a=x(H);return I([q.GetIndividualEntityPassRateSnapshots,{...e,filter:{...e==null?void 0:e.filter,numberOfDays:0}}],async()=>a.getIndividualEntityPassRates({...e,filter:{...e==null?void 0:e.filter,numberOfDays:0}}),{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})},he={loading:!0},ye=_e(he),Tt=()=>Ke(ye),St=({children:e})=>{const[a,n]=$(he),r=x(M),l=x(te),{value:s,loading:i,error:c}=qe(async()=>{const[{token:o},d]=await Promise.all([l.getCredentials(),l.getBackstageIdentity()]);return o?await r.getEntityByRef(d.userEntityRef):null},[r,l]);return T(()=>{if(s){const o=K(s);n({user:s,userEntityRef:o,loading:i,error:c})}else n({loading:i,error:c})},[s,i,c]),t.createElement(ye.Provider,{value:a},e)},Ee=()=>{const{data:e,isLoading:a,isError:n}=Pt(),{data:r,isLoading:l,isError:s}=ge();return{options:F(()=>{const i=new Map;return e&&e.forEach(({name:c,ref:o,type:d})=>{i.set(`${o}`,{name:c,ref:o,type:d,key:"My Groups"})}),r&&r.forEach(({name:c,ref:o})=>{i.has(`${o}`)||i.set(`${o}`,{name:c,ref:o,key:"All Groups"})}),[...i.values()]},[e,r]),isLoading:a||l,isError:n||s}},It=E(e=>({root:{width:"100%",minWidth:250},textField:{"& $notchedOutline":{borderColor:Xe(e.page.fontColor,.25)},"&:hover $notchedOutline":{borderColor:e.page.fontColor}},input:{backgroundColor:"transparent",color:e.page.fontColor},clearIndicator:{color:e.page.fontColor},popupIndicator:{color:e.page.fontColor},notchedOutline:{}}),{name:"SoundcheckGroupSelector"}),Lt=({setError:e})=>{const{options:a,isLoading:n,isError:r}=Ee(),l=It(),[s,i]=J(),[c,o]=dt("soundcheck.overview.groupRef",null),d=s.get("group"),m=x(Ue).getOptionalString("soundcheck.overview.defaultSelectedGroupType"),f=F(()=>{var u,h;if(!n&&a.length){if(d||c){const y=d!=null?d:c;return(u=a.find(k=>k.ref===y))!=null?u:a[0]}else if(m)return(h=a.find(y=>y.type===m))!=null?h:a[0];return a[0]}return null},[m,n,a,d,c]),p=S((u,h)=>{u&&s.get("group")!==u&&(s.set("group",u),i(s,{replace:h}),o(u))},[s,o,i]),v=S((u,h)=>{p==null||p(h==null?void 0:h.ref)},[p]);return T(()=>{c&&!d&&p(c,!0)},[c,d,p]),T(()=>{p(f==null?void 0:f.ref,!0)},[p,f]),T(()=>{e==null||e(r?new Error("Error loading groups"):void 0)},[r,e]),r?null:t.createElement(st,{"aria-label":"Current group",className:l.root,classes:{clearIndicator:l.clearIndicator,popupIndicator:l.popupIndicator},disableClearable:!0,options:a!=null?a:[],loading:n,groupBy:u=>u.key,value:f,freeSolo:!1,onChange:v,getOptionLabel:u=>u.name,renderInput:u=>t.createElement(Ye,{...u,variant:"outlined",placeholder:n?"Loading":"Select a group",className:l.textField,InputProps:{...u.InputProps,className:l.input,classes:{notchedOutline:l.notchedOutline},endAdornment:t.createElement(t.Fragment,null,n?t.createElement(re,{color:"inherit",size:20}):null,u.InputProps.endAdornment)}})})},Ot=E(e=>({loadingContainer:{marginTop:e.spacing(1),display:"flex",justifyContent:"center",alignItems:"center",height:"100%"}})),ke=({size:e})=>{const a=Ot();return t.createElement(N,{container:!0,className:a.loadingContainer},t.createElement(re,{size:e}))},Ft=pe(e=>({detailRow:{marginBottom:e.spacing(1)},label:{fontWeight:"bold",color:e.palette.text.primary},value:{marginLeft:e.spacing(1)}})),O=({label:e,value:a})=>{const n=Ft();return t.createElement(N,{item:!0,xs:12,container:!0,className:n.detailRow,alignItems:"center"},t.createElement(g,{variant:"subtitle1",className:n.label},e,":"),t.createElement(g,{variant:"body1",display:"inline",className:n.value},a))},At=pe(e=>({innerContainer:{padding:e.spacing(0,1)},sectionLabel:{margin:e.spacing(2,0)},ownerLink:{"& span":{"&:hover":{textDecoration:"underline"}}}})),V=e=>new Date(e).toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"}),zt=({campaign:e})=>{const a=At(),{name:n,description:r,ownerEntityRef:l,startDate:s,targetCompletionDate:i,supportChannel:c}=e;return t.createElement(t.Fragment,null,t.createElement(g,{color:"textPrimary",variant:"h5",className:a.sectionLabel},"Campaign Details"),t.createElement(N,{container:!0,className:a.innerContainer,spacing:2},t.createElement(N,{item:!0,container:!0,xs:12,spacing:0},t.createElement(O,{label:"Name",value:n}),t.createElement(O,{label:"Description",value:r}),t.createElement(O,{label:"Owner",value:t.createElement(ae,{className:a.ownerLink,entityRef:l})}),c&&t.createElement(O,{label:"Support channel",value:c}),t.createElement(O,{label:"Start date",value:V(s)}),t.createElement(O,{label:"Target completion date",value:V(i)}))))};function Bt({angle:e,arc:a,direction:n,dist:r,emoji:l,delay:s,fontSize:i,speed:c}){return t.createElement(me.div,{style:{position:"absolute",fontSize:i},initial:{top:0,left:"50%",x:"-50%",y:"-100%",rotate:0,originX:`${a*n}px`,originY:`${a}px`},animate:{opacity:[0,1,0,0,0,0],y:`${-r}px`,rotate:e*n},transition:{delay:s,duration:c,ease:[.2,.83,.46,.63],repeat:1/0}},l)}const Dt=["\u{1F4C8}","\u{1F4CA}","\u{1F4C9}","\u{1F680}","\u2B50\uFE0F"],Wt=E(()=>({container:{position:"relative"}}));function Gt({angle:e=125,density:a=20,emojis:n=Dt,fontSizeMin:r=6,fontSizeMax:l=24,size:s=300,speed:i=4}){const c=Wt(),o=F(()=>Array.from({length:a*n.length}).map((d,m)=>({emoji:n[Math.floor(Math.random()*n.length)],arc:Math.random()*s*.5,delay:Math.random()*i,dist:Math.random()*s,direction:m%2?1:-1,fontSize:Math.random()*(l-r)+r,angle:e,speed:i})),[a,n,i,s,e,l,r]);return t.createElement("div",{className:c.container},t.createElement(g,{variant:"h1"},"\u{1F469}\u200D\u{1F4BB}"),o.map((d,m)=>t.createElement(Bt,{key:`${d.emoji}-${m}`,...d})))}const Mt=E(()=>({container:{position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",flex:1,height:"100%"},textContainer:{position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"}}));function Ce({title:e,subtitle:a}){const n=Mt();return t.createElement("div",{className:n.container},t.createElement("div",{className:n.textContainer},t.createElement(Gt,null),t.createElement(me.div,{animate:{y:0,opacity:1},initial:{y:100,opacity:0}},e&&t.createElement(g,{align:"center",variant:"h6"},e),a&&t.createElement(g,{align:"center",variant:"subtitle2"},a))))}const Ht=E(e=>({campaignCards:{display:"flex",flexDirection:"column"},campaignCard:{display:"flex",flexDirection:"column",border:`1px solid ${e.palette.divider}`,padding:e.spacing(2),gap:e.spacing(5),borderRadius:e.shape.borderRadius},actions:{display:"flex",alignItems:"center",gap:e.spacing(1)},actionsText:{textTransform:"lowercase","&:first-letter":{textTransform:"uppercase"}},flexRow:{display:"flex",gap:e.spacing(1)},campaignDescription:{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},progress:{display:"flex",alignItems:"center",gap:e.spacing(1),width:"90%"},flexColumn:{width:"100%",display:"flex",flexDirection:"column",gap:e.spacing(1)},detailSection:{display:"flex",flexDirection:"row",justifyContent:"space-between",gap:e.spacing(.5)},label:{fontWeight:"bold",color:e.palette.text.primary},value:{marginTop:"2px"},description:{maxWidth:"90%"},menuList:{backgroundColor:e.palette.background.paper},ownerLink:{"& span":{"&:hover":{textDecoration:"underline"}}}})),jt=e=>{var a;let n=0;return e==null||e.edges.forEach(({node:r})=>{n+=r.snapshotPassRate}),Math.round(n/((a=e==null?void 0:e.edges.length)!=null?a:1))},Vt=e=>e==null?void 0:e.edges.filter(({node:a})=>a.snapshotPassRate===100).length,Ut=e=>{if(e!=null&&e.edges.length){const a=Vt(e);return t.createElement(g,{variant:"body2"},a,"/",e.edges.length)}return t.createElement(g,{variant:"body2"},"No progress found.")},_t=({campaign:e})=>{var a;const n=Ht(),r=D(pt),l=D(mt),s=ct(),[i,c]=$(null),o=150,d=e.track.levels.flatMap(({checks:_})=>_.map(({id:Ve})=>Ve)),{data:m,isLoading:f,isError:p}=ve({filter:{tracks:[{trackId:e.track.id}],checkIds:{included:d}}}),v=(a=m==null?void 0:m.individualEntityPassRates)!=null?a:{totalCount:0,edges:[],pageInfo:{hasNextPage:!1,hasPreviousPage:!1}},u=_=>{c(_.currentTarget)},h=()=>{c(null)},y=()=>{s(l({campaignId:e.id}))},k=()=>{s(r({campaignId:e.id}))};if(f)return t.createElement("div",{"data-testid":"loading-indicator"},t.createElement(Ce,null));if(p)return t.createElement(g,{color:"error"},"Failed to load campaigns progress.");const R=v.edges.length?jt(v):0,C=Ut(v),{name:b,description:w,ownerEntityRef:z,targetCompletionDate:B,startDate:je,supportChannel:ee}=e;return t.createElement("div",{className:n.campaignCards},t.createElement("div",{className:n.campaignCard},t.createElement("div",{className:n.flexRow,style:{justifyContent:"space-between"}},t.createElement("div",{className:n.flexColumn},t.createElement(g,{variant:"h5"},b),t.createElement(g,{variant:"body1",className:n.description},w.length>o?`${w.substring(0,o)}...`:w)),t.createElement("div",null,t.createElement(Ze,{variant:"text","aria-controls":"menu","aria-haspopup":"true",onClick:u},t.createElement("div",{className:n.actions},t.createElement("div",{className:n.actionsText},"Actions"),t.createElement("div",{className:n.flexRow},i?t.createElement(wt,{fontSize:"small"}):t.createElement(bt,{fontSize:"small"})))),t.createElement(et,{id:"campaign-menu",anchorEl:i,keepMounted:!0,open:!!i,onClose:h,classes:{list:n.menuList}},t.createElement(le,{onClick:k},"View"),t.createElement(le,{onClick:y},"Edit")))),t.createElement("div",{className:n.detailSection},t.createElement("div",{className:n.flexColumn},t.createElement("div",{className:n.flexRow},t.createElement(g,{variant:"subtitle1",className:n.label},"Owner:"),t.createElement(g,{variant:"body1",display:"inline",className:n.value},t.createElement(ae,{className:n.ownerLink,entityRef:z}))),ee&&t.createElement("div",{className:n.flexRow},t.createElement(g,{variant:"subtitle1",className:n.label},"Support Channel:"),t.createElement(g,{variant:"body1",display:"inline",className:n.value},ee))),t.createElement("div",{className:n.flexColumn},t.createElement("div",{className:n.flexRow},t.createElement(g,{variant:"subtitle1",className:n.label},"Start Date:"),t.createElement(g,{variant:"body1",display:"inline",className:n.value},V(je))),t.createElement("div",{className:n.flexRow},t.createElement(g,{variant:"subtitle1",className:n.label},"Target Completion Date:"),t.createElement(g,{variant:"body1",display:"inline",className:n.value},V(B)))),t.createElement("div",{className:n.flexRow,style:{minWidth:"300px"}},t.createElement("div",{className:n.flexColumn},t.createElement(g,{variant:"subtitle1",className:n.label},"Checks Passing"),t.createElement(g,{variant:"body2"},R,"%")),t.createElement("div",{className:n.flexColumn},t.createElement(g,{variant:"subtitle1",className:n.label},"Entities Complete"),C)))))},Kt=E(e=>({root:{borderTop:`1px solid ${e.palette.divider}`,borderBottom:`1px solid ${e.palette.divider}`},tab:{textTransform:"uppercase",paddingTop:e.spacing(2),paddingBottom:e.spacing(2)}})),Qt=({unfilteredFacets:e,onChange:a,kind:n,type:r})=>{var l,s,i;const c=Kt(),o={types:(l=e==null?void 0:e.types.filter(({count:p})=>p>0))!=null?l:[]},d=S((p,v)=>{var u;a((u=o==null?void 0:o.types[v].kind)!=null?u:"",o==null?void 0:o.types[v].type)},[o==null?void 0:o.types,a]);T(()=>{var p,v,u;const h=(o==null?void 0:o.types)&&o.types.length>=0,y=!n&&h,k=n&&h&&!(o!=null&&o.types.find(({kind:R,type:C})=>n===R&&(!r&&!C||r===C)));(y||k)&&a((v=(p=o==null?void 0:o.types[0])==null?void 0:p.kind)!=null?v:"",(u=o==null?void 0:o.types[0])==null?void 0:u.type,!0)},[n,r,o==null?void 0:o.types,a]);const m=(s=o==null?void 0:o.types.map(({kind:p,type:v,count:u})=>{const h=`${p}|${v!=null?v:""}`;return{key:h,label:`${v!=null?v:p} (${u>50?"50+":u})`,id:h,className:c.tab}}))!=null?s:[];if(!m.length)return null;const f=(i=o==null?void 0:o.types.findIndex(p=>p.kind===n&&(!p.type&&!r||p.type===r)))!=null?i:-1;return t.createElement(t.Fragment,null,t.createElement(Nt,null),t.createElement(tt,{onChange:d,indicatorColor:"primary",variant:"scrollable",value:f>-1?f:void 0},m.map(p=>t.createElement(at,{...p}))))},Jt=e=>({key:`skeleton${e}`,label:"",id:`skeleton${e}`}),qt=()=>{const e=Array.from({length:4},(a,n)=>Jt(n));return t.createElement(Et,{tabs:e})};var be=(e=>(e.Alpha="default",e.Owner="all",e.Status="all",e))(be||{});const U=12,Xt=E(e=>({pagination:{width:"-webkit-fill-available",display:"flex",justifyContent:"center",position:"fixed",bottom:"0",backgroundColor:e.palette.background.paper,borderTop:`1px solid ${e.palette.divider}`,marginRight:"40px"}})),Yt=({response:e,listingsPerPage:a,cursor:n,setCursor:r,prevCursors:l,setPrevCursors:s,labelPerPageDropdown:i,urlRoute:c})=>{var o;const d=Xt(),m=e!=null&&e.edges?e==null?void 0:e.edges[(e==null?void 0:e.edges.length)-1]:{cursor:""},[f,p]=$(0),v=()=>{s(k=>[...k,n]),r(m==null?void 0:m.cursor)},u=()=>{r(l[l.length-1]),s(k=>k.slice(0,-1))},h=(k,R)=>{p(C=>(R>C?v():u(),R))},y=k=>{window.open(`/soundcheck/${c!=null?c:"tracks?tracksPerPage="}${k.target.value}`,"_self")};return t.createElement(oe,{className:d.pagination,component:"div",count:(o=e==null?void 0:e.totalCount)!=null?o:-1,rowsPerPage:a!=null?a:10,onPageChange:h,page:f,onRowsPerPageChange:y,labelRowsPerPage:i!=null?i:"Listings per page:",rowsPerPageOptions:[U,U*2,U*4]})},Zt=E(e=>({pagination:{width:"-webkit-fill-available",display:"flex",justifyContent:"center",position:"fixed",bottom:"0",left:"0",backgroundColor:e.palette.background.paper,borderTop:`1px solid ${e.palette.divider}`,zIndex:1e3}})),we=({defaultPageSize:e,label:a})=>{const[n,r]=$(),[l,s]=J(),i=l.get(a),c=i?parseInt(i,10):e,[o,d]=$(0),m=S(f=>{var p;l.set("entitiesPerPage",(p=f.target.value)!=null?p:e),s(l,{replace:!0}),d(0),r(void 0)},[e,l,s]);return{cursor:n,setCursor:r,pageSize:c,currentPage:o,setCurrentPage:d,onRowsPerPageChange:m}},Ne=({totalCount:e,setCursor:a,endCursor:n,prevCursor:r,defaultPageSize:l,currentPage:s,setCurrentPage:i,onRowsPerPageChange:c,pageSize:o,labelRowsPerPage:d,rowsPerPageOptions:m})=>{const f=Zt(),p=S(()=>{n&&a(n)},[n,a]),v=S(()=>{r&&a(r)},[r,a]),u=(h,y)=>{i(k=>(y>k?p():y<k&&v(),y))};return t.createElement(oe,{className:f.pagination,component:"div",count:e,page:s,onPageChange:u,rowsPerPage:o!=null?o:l,onRowsPerPageChange:c,labelRowsPerPage:d,rowsPerPageOptions:m!=null?m:[l,l*2,l*4]})},ea=E(e=>({table:{backgroundColor:e.palette.background.paper,borderCollapse:"collapse",whiteSpace:"nowrap","& th, & td":{border:`1px solid ${e.palette.divider}`,borderCollapse:"collapse"},paddingBottom:e.spacing(2)},programTitle:{padding:e.spacing(2)},checkResult:{padding:e.spacing(1.5)},title:{padding:`${e.spacing(1)}px ${e.spacing(2)}px`},header:{backgroundColor:e.palette.action.hover}})),xe=({entityCount:e=25,levelCount:a=3,checkCount:n=5})=>{const r=ea(),l=new Array(e).fill(void 0),s=new Array(n).fill(void 0),i=new Array(a).fill(void 0);return t.createElement("table",{className:r.table},t.createElement("tbody",null,t.createElement("tr",null,t.createElement("td",{className:r.programTitle},t.createElement(j,{width:180,height:40})),l.map((c,o)=>t.createElement("td",{key:o}))),i.map((c,o)=>t.createElement(t.Fragment,{key:o},t.createElement("tr",{className:r.header},t.createElement("td",{className:r.title},t.createElement(j,{width:180})),l.map((d,m)=>t.createElement("td",{key:m}))),s.map((d,m)=>t.createElement("tr",{key:m},t.createElement("td",{className:r.title},t.createElement(j,{width:240})),l.map((f,p)=>t.createElement("td",{key:p,className:r.checkResult},t.createElement(j,{width:18,height:18,variant:"rect"})))))))))},Re=nt(e=>{const a=e.palette.type==="dark"?e.palette.common.black:e.palette.grey[300];return{tooltip:{backgroundColor:a,color:e.palette.text.primary,maxWidth:"400px"},arrow:{color:a}}})(ie),ta=E(e=>({headerWrapper:{marginTop:e.spacing(.5)},entityRefName:{fontWeight:"bold"},iconWrapper:{padding:e.spacing(1.5,.5),display:"flex",alignItems:"center",justifyContent:"center"}})),aa=({check:{name:e,description:a},icon:n,entityRef:r})=>{const l=ta(),s=G(r);return t.createElement(N,{spacing:1},t.createElement(N,{container:!0,direction:"row",spacing:1,wrap:"nowrap"},t.createElement("div",{className:l.iconWrapper},n),t.createElement(g,{variant:"h6",className:l.headerWrapper,noWrap:!0},e)),t.createElement(N,{item:!0,wrap:"nowrap"},t.createElement(g,{variant:"subtitle2",className:l.entityRefName},Q(s,{defaultKind:s.kind}))),t.createElement(kt,{content:a}))},na=({children:e,check:a,icon:n,entityRef:r})=>t.createElement(Re,{arrow:!0,title:t.createElement(aa,{check:a,icon:n,entityRef:r}),enterDelay:150,placement:"top"},e),ra=E(e=>({root:{padding:0},iconWrapper:{padding:e.spacing(1.5),display:"flex",alignItems:"center",justifyContent:"center"},link:{"&:hover $iconWrapper, &:active $iconWrapper, &:focus $iconWrapper":{backgroundColor:e.palette.action.hover}},icon:{width:"17px",height:"17px"},virtualized:{borderBottom:`1px solid ${e.palette.divider}`,borderRight:`1px solid ${e.palette.divider}`}})),Pe=A(({programId:e,check:a,entityRef:n,result:r,entityRoute:l,isVirtualized:s})=>{const i=ra();if(typeof n!="string"){const m=t.createElement("div",{className:i.iconWrapper},t.createElement("div",{className:i.icon}));return s?t.createElement("div",{className:`${i.root} ${i.virtualized}`,"aria-hidden":!0},m):t.createElement("td",{className:i.root,"aria-hidden":!0},m)}const c=t.createElement(ft,{className:i.icon,result:r!=null?r:L.NotReported}),o=t.createElement("div",{className:i.iconWrapper},c),d=r&&r===L.NotApplicable?o:t.createElement(X,{className:i.link,to:`${l(G(n))}/soundcheck/tracks/${e}/checks/${a.id}`},o);return s?t.createElement("div",{className:`${i.root} ${i.virtualized}`},t.createElement(na,{check:a,icon:c,entityRef:n},d)):t.createElement("td",{className:`${i.root}`},d)}),$e=8,la=16,P={programTitle:70,levelTitle:30,check:42,entityRefFooter:100,paginationControl:50},W={programTitle:350+la*2,checkResult:42},Te=e=>e.reduce((a,n)=>a+n.height,0),oa=e=>e*W.checkResult+W.programTitle,Se=e=>e.filter(a=>a!==void 0).map(a=>{const n=G(a);return Q(n,{defaultKind:n.kind})}).reduce((a,n)=>a.length>n.length?a:n,""),Ie=e=>$e*e+$e,Le="NoLevel",ia=e=>({name:Le,badge:{options:{level:0,color:""},variant:ut.Medal},entityRef:e,ordinal:0}),sa=E(e=>({virtualized:{borderRight:`1px solid ${e.palette.divider}`,height:`${P.programTitle}px`,display:"flex",justifyContent:"center",alignItems:"center"}})),ca=A(({entityRef:e,highestLevels:a,trackType:n})=>{const r=a.find(s=>s.entityRef===e);let l=r!=null&&r.badge?t.createElement(se,{badge:r.badge}):t.createElement(ce,null);return n==="campaign"&&(l=t.createElement(de,null)),l}),da=({highestLevel:e,trackType:a})=>{const n=sa();if(!(e!=null&&e.badge))return t.createElement("div",{className:n.virtualized},"\xA0");let r=e.name!==Le?t.createElement(se,{badge:e.badge}):t.createElement(ce,null);return a==="campaign"&&(r=t.createElement(de,null)),t.createElement("div",{className:n.virtualized},r)},pa=E(e=>({root:{height:"8px",minWidth:"64px",marginLeft:e.spacing(2),borderRadius:"100vh",backgroundColor:e.palette.action.hover},bar:{backgroundColor:e.palette.success.main,transition:"none"}})),Oe=e=>{var a,n;const r=pa(e),l=F(()=>Object.entries(e.progress).reduce((i,[,c])=>i+c,0),[e.progress]);if(l===0)return null;const s=(a=e.progress[L.Passed])!=null?a:0;return t.createElement(ie,{arrow:!0,title:`Check passing for ${s} of ${l} ${l===1?"entity":"entities"}`,enterDelay:0,placement:"top"},t.createElement(rt,{variant:"determinate",value:((n=e.progress[L.Passed])!=null?n:0)/l*100,classes:{root:r.root,bar:r.bar}}))},Fe=E(e=>({checkNameCell:{padding:0,backgroundColor:e.palette.background.paper},checkNameContent:{padding:`0 ${e.spacing(2)}px`,display:"flex",justifyContent:"space-between",alignItems:"center"},checkNameTypography:{overflow:"hidden",textOverflow:"ellipsis",fontWeight:e.typography.body1.fontWeight},checkIndicator:{flexBasis:e.spacing(8)},checkNameCellVirtualized:{height:`${P.check}px`,lineHeight:`${P.check}px`,borderBottom:`1px solid ${e.palette.divider}`,borderRight:`1px solid ${e.palette.divider}`}}));A(({programId:e,programName:a,check:n,entityRefs:r,results:l,entityRoute:s})=>{const i=Fe(),c=F(()=>ue(l.filter(({result:d})=>d!==L.NotApplicable),"result"),[l]),o=new Map(l.map(d=>[d.entityRef,d.result]));return t.createElement("tr",{"data-testid":"track-check-row"},t.createElement("th",{scope:"row",className:i.checkNameCell,"aria-label":`${n.name} check for ${a} track`},t.createElement("div",{className:i.checkNameContent},t.createElement(g,{className:i.checkNameTypography,variant:"subtitle2",component:"p"},n.name),t.createElement(Oe,{className:i.checkIndicator,progress:c}))),r.map((d,m)=>t.createElement(Pe,{key:m,programId:e,check:n,entityRef:d,result:typeof d=="string"?o.get(d):void 0,entityRoute:s})))});const ma=({name:e,progress:a})=>{const n=Fe();return t.createElement("div",{className:n.checkNameCell,"aria-label":`${e} check`},t.createElement("div",{className:`${n.checkNameContent} ${n.checkNameCellVirtualized}`},t.createElement(g,{variant:"subtitle2",component:"p",className:n.checkNameTypography},e),t.createElement(Oe,{className:n.checkIndicator,progress:a})))},Y=E(e=>{const a=e.palette.action.hover;return{root:{color:e.palette.text.primary,backgroundColor:a},levelContent:{padding:`${e.spacing(.5)}px ${e.spacing(2)}px`,backgroundColor:a},levelTypography:{overflow:"hidden",textOverflow:"ellipsis"},levelHeaderCell:{padding:`${e.spacing(.5)}px ${e.spacing(2)}px`,borderRight:`1px solid ${e.palette.divider}`,height:`${P.levelTitle}px`}}});A(({level:e,entityRefs:a,programName:n})=>{const r=Y();return t.createElement("tr",{className:r.root,"data-testid":"track-level-row"},t.createElement("th",{scope:"row",className:r.root},t.createElement("div",{className:r.levelContent},t.createElement(g,{className:r.levelTypography,variant:"subtitle2",component:"p","aria-label":`${e.name} for ${n} track`},e.name))),a.map((l,s)=>t.createElement("td",{key:s,className:r.root,"aria-hidden":!0})))});const ua=({name:e})=>{const a=Y();return t.createElement("div",{className:`${a.levelHeaderCell} ${a.root}`,"aria-label":`${e}`},t.createElement(g,{variant:"subtitle2",component:"p",className:a.levelTypography},e))},ga=()=>{const e=Y();return t.createElement("div",{className:`${e.levelHeaderCell} ${e.root}`},"\xA0")},Ae=E(e=>({programNameCell:{padding:0,position:"sticky",backgroundColor:e.palette.background.paper},programNameContent:{padding:e.spacing(2)},programNameTypography:{overflow:"hidden",textOverflow:"ellipsis"},badgeCellContent:{display:"flex",justifyContent:"center",alignItems:"center"},programNameCellVirtualized:{borderRight:`1px solid ${e.palette.divider}`}}));A(({program:e,entityRefs:a,highestLevels:n})=>{const r=Ae();return t.createElement("tr",{"data-testid":"track-title-row"},t.createElement("th",{scope:"row",className:r.programNameCell},t.createElement("div",{className:r.programNameContent},t.createElement(g,{className:r.programNameTypography,variant:"h5",component:"p"},e.name))),a.map((l,s)=>{var i;return typeof l!="string"?t.createElement("td",{key:s,"aria-hidden":!0}):t.createElement("td",{key:s,"data-testid":"track-certification-cell"},t.createElement("div",{className:r.badgeCellContent},t.createElement(ca,{entityRef:l,highestLevels:n,trackType:(i=e.type)!=null?i:void 0})))}))});const fa=A(({name:e})=>{const a=Ae();return t.createElement("div",{className:`${a.programNameCell} ${a.programNameCellVirtualized}`},t.createElement("div",{className:a.programNameContent},t.createElement(g,{className:a.programNameTypography,variant:"h5",component:"p"},e)))}),ze=e=>{const a=x(M);return I([q.EntityByRef,e],async()=>a.getEntityByRef(e),{onError:()=>{},enabled:!!e})},va=E(e=>({root:{position:"sticky",bottom:"-1px",backgroundColor:e.palette.background.default,boxShadow:`0 -1px ${e.palette.divider}`,"& td$cell, & th$cell":{border:0,padding:e.spacing(1)},"& td$cell":{backgroundColor:e.palette.background.default}},row:{boxShadow:`1px 0 ${e.palette.background.default}, -1px 0 ${e.palette.background.default}`},cell:{verticalAlign:"top"},cellInner:{textOrientation:"mixed",writingMode:"vertical-lr",transform:"rotate(-20deg)",transformOrigin:`100% ${e.spacing(1)}px`,wordBreak:"keep-all",fontWeight:"bold",overflow:"hidden",textOverflow:"ellipsis",maxHeight:"max(15vh, 175px)"}})),ha=({entityRef:e})=>{const{data:a}=ze(e),n=D(ne),r=va(),l=e?G(e):void 0,s=l?t.createElement(X,{to:n(l)},a!=null&&a.metadata.title?a.metadata.title:Q(l,{defaultKind:l.kind})):t.createElement(t.Fragment,null);return t.createElement("div",{className:r.cell},t.createElement("div",{className:r.cellInner},s))},ya=e=>t.createElement(fa,{name:e}),Ea=e=>({type:"ProgramHeader",render:()=>ya(e)}),ka=e=>e?t.createElement(ua,{name:e}):t.createElement(ga,null),Be=e=>({type:"LevelHeader",render:()=>ka(e)}),Ca=(e,a)=>t.createElement(ma,{name:e,progress:a}),De=(e,a)=>({type:"CheckTitle",render:()=>Ca(e,a)}),ba=(e,a,n,r,l)=>t.createElement(Pe,{check:a,entityRef:n,entityRoute:l,programId:e,result:r,isVirtualized:!0}),We=(e,a,n,r,l)=>({type:"CheckResult",render:()=>ba(e,a,n,r,l)}),wa=e=>t.createElement(ha,{entityRef:e}),Z=e=>({type:"EntityHeader",render:()=>wa(e)}),Na=(e,a)=>t.createElement(da,{highestLevel:e,trackType:a}),xa=(e,a)=>({type:"LevelBadge",render:()=>Na(e,a)}),Ge=e=>a=>{const n=e[a.rowIndex].cells[a.columnIndex];return n?t.createElement("div",{style:a.style},n.render()):t.createElement("div",{style:a.style})},Ra=(e,a,n)=>{var r;const l=[];for(const{program:i,levels:c,highestLevels:o}of e){l.push({height:P.programTitle,cells:[Ea(i.name),...a.map(d=>{var m;const f=d?o.find(p=>p.entityRef===d)||ia(d):void 0;return xa(f,(m=i.type)!=null?m:void 0)})]});for(const d of c){l.push({height:P.levelTitle,cells:[Be(d.name),...a.map(m=>Be(""))]});for(const{check:m,results:f}of d.checks)l.push({height:P.check,cells:[De(m.name,ue(f.filter(({result:p})=>p!==L.NotApplicable),"result")),...a.map(p=>{var v,u;return We(i.id,m,p,(u=(v=f.find(h=>h.entityRef===p))==null?void 0:v.result)!=null?u:L.NotApplicable,n)})]})}}const s=Se(a!=null?a:[]);return l.push({height:Ie((r=s.length)!=null?r:1),cells:[Z(""),...a.map(i=>Z(i||""))]}),l},Me=25,Pa=E(e=>({table:{backgroundColor:e.palette.background.paper,borderCollapse:"collapse",whiteSpace:"nowrap",textAlign:"left",overflow:"auto"}})),$a=({setError:e,kind:a,type:n,ownerEntityRef:r})=>{const{cursor:l,pageSize:s,...i}=we({defaultPageSize:Me,label:"entitiesPerPage"}),{data:c,isLoading:o,isError:d}=Rt(r,{kind:a,type:n},s,l),m=Pa(),f=D(ne);T(()=>{e==null||e(d?new Error("Error loading program overview"):void 0)},[d,e]);const[p,v]=$(0),u=Qe(null);if(Je(()=>{c&&r&&u!=null&&u.current&&v(u.current.clientWidth)},[u,c,r]),o)return t.createElement(xe,null);if(!c||!r)return null;const{programs:h,entityRefs:y,totalCount:k,endCursor:R,prevCursor:C}=c,b=y.length>=25?y:[...y,...Array.from({length:25-y.length},()=>{})],w=Ra(h,b,f),z=Ge(w);return t.createElement("div",{ref:u},t.createElement(N,{"aria-label":`Check results for ${n!=null?n:a}`,key:`${a}|${n!=null?n:""}`,item:!0,xs:12},p>0&&t.createElement(xt,{className:m.table,columnCount:b.length+1,columnWidth:B=>B===0?W.programTitle:W.checkResult,rowCount:w.length,rowHeight:B=>w[B].height,height:Te(w)+P.paginationControl,width:p},z)),t.createElement(Ne,{...i,totalCount:k,defaultPageSize:Me,endCursor:R,prevCursor:C,pageSize:s,labelRowsPerPage:"Entities per page:"}))},Ta=({facets:e,ownerEntityRef:a,kind:n,type:r,setError:l})=>{const s=F(()=>{const i=new Map;return e.types.forEach(({kind:c,type:o})=>{const d=`${c}|${o!=null?o:""}`;i.set(d,t.createElement($a,{key:d,ownerEntityRef:a,kind:c,type:o,setError:l}))}),i},[e,a,l]);return t.createElement("div",null,s.get(`${n}|${r!=null?r:""}`))},Sa=E(()=>({scrollContainer:{overflow:"auto"}})),Ia=({facets:e,ownerEntityRef:a,hasError:n,kind:r,type:l,setError:s,isFixedGroup:i})=>{var c,o,d;const m=Sa();if(n)return t.createElement(vt,{severity:"error",title:n.message});const f="Use the groups drop-down list at the top-right of the page to select another group.";return e&&((o=(c=e.types)==null?void 0:c.length)!=null?o:0)>0?(d=e.types)!=null&&d.find(p=>p.count>0)?t.createElement("div",{className:m.scrollContainer},t.createElement(Ta,{facets:e,kind:r,type:l,setError:s,ownerEntityRef:a,hasError:n})):t.createElement(ht,{ownerEntityRef:a,selectGroupHint:f}):t.createElement(yt,{ownerEntityRef:a,selectGroupHint:i?void 0:f})},La=E(e=>({tableContainer:{padding:0,backgroundColor:"transparent"},campaignsGrid:{margin:`0 0 ${e.spacing(3)}px`,border:`1px solid ${e.palette.divider}`},campaignsCard:{display:"flex",width:"100%",flexDirection:"column",padding:e.spacing(2),gap:e.spacing(2)},campaignsLink:{textAlign:"center",margin:`${e.spacing(1)}rem 0 ${e.spacing(1)}`},tableLoading:{backgroundColor:e.palette.background.paper,padding:e.spacing(6)},noPadding:{padding:0},accordion:{boxShadow:"none"}})),He=3,Oa=({groupSelectorError:e,isFixedGroup:a=!1})=>{const[n,r]=J(),{group:l,kind:s,type:i}=Object.fromEntries(n.entries()),c=D(gt),[o,d]=$(void 0),[m,f]=$(void 0);T(()=>{((o==null?void 0:o.kind)!==s||(o==null?void 0:o.type)!==i)&&d({kind:s,type:i})},[s,i,o]);const{data:p,isLoading:v}=$t(l),{data:u}=fe({orderAlphabetical:"default",searchByOwner:l,searchByStatus:"active"}),h=u==null?void 0:u.edges.map(b=>b.node),y=h==null?void 0:h.slice(0,He),k=m||e,R=S((b,w,z)=>{b&&(d({kind:b,type:w}),w?(n.set("kind",b),n.set("type",w)):(n.delete("type"),n.set("kind",b)),r(n,{replace:z}))},[n,r]),C=La();return t.createElement(N,{container:!0,spacing:0},h&&h.length>0&&t.createElement(N,{item:!0,xs:12,className:C.campaignsGrid},t.createElement(lt,{style:{boxShadow:"none"}},t.createElement(ot,{expandIcon:t.createElement(Ct,null)},t.createElement(g,{variant:"h6"},"Campaigns")),t.createElement(it,null,t.createElement("div",{className:C.campaignsCard},y==null?void 0:y.map(b=>t.createElement("div",{key:b.id},t.createElement(_t,{campaign:b})))),h.length>He&&t.createElement(X,{to:c(),className:C.campaignsLink},"More Campaigns")))),t.createElement(N,{item:!0,xs:12,className:C.noPadding},v?t.createElement(qt,null):t.createElement(Qt,{unfilteredFacets:p,kind:o==null?void 0:o.kind,type:o==null?void 0:o.type,onChange:R})),t.createElement(N,{item:!0,xs:12,className:C.tableContainer},v?t.createElement("div",{className:C.tableLoading},t.createElement(ke,{size:80})):t.createElement(Ia,{facets:p,kind:o==null?void 0:o.kind,type:o==null?void 0:o.type,setError:f,hasError:k,ownerEntityRef:l,isFixedGroup:a})))};export{O as C,be as F,Lt as G,ke as L,Oa as O,Yt as P,U as R,Re as S,St as U,Tt as a,Ee as b,W as c,Te as d,oa as e,P as f,De as g,We as h,Se as i,Ie as j,Z as k,Ge as l,we as m,xe as n,Ne as o,Ce as p,zt as q,ge as r,ze as s,ve as t,fe as u};
|
|
2
|
+
//# sourceMappingURL=OverviewPageContent-CBL-e1xr.esm.js.map
|
package/dist/esm/{RefetchingIndicator-ByFQ51Yf.esm.js → RefetchingIndicator-BrP7yEiB.esm.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeStyles as m,LinearProgress as a}from"@material-ui/core";import e,{useState as s}from"react";import p from"react-use/lib/useDebounce";import c from"react-use/lib/useUnmount";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import{useIsFetching as d}from"@tanstack/react-query";import"./routes-DcGwdXHX.esm.js";import{F as l}from"./EmptyState-
|
|
2
|
-
//# sourceMappingURL=RefetchingIndicator-
|
|
1
|
+
import{makeStyles as m,LinearProgress as a}from"@material-ui/core";import e,{useState as s}from"react";import p from"react-use/lib/useDebounce";import c from"react-use/lib/useUnmount";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import{useIsFetching as d}from"@tanstack/react-query";import"./routes-DcGwdXHX.esm.js";import{F as l}from"./EmptyState-C2zsaDrr.esm.js";import"@backstage/plugin-catalog-react";import"react-router-dom";const f=m(t=>({indicator:{position:"absolute",width:"100%",zIndex:t.zIndex.speedDial}})),u=()=>{const t=d(),r=f(),[i,o]=s(!!t),[I,n]=p(()=>{o(!!t)},250,[t]);return c(n),i?e.createElement(l,null,e.createElement("div",{className:r.indicator},e.createElement(a,{variant:"indeterminate","data-testid":"refetching-indicator"}))):null};export{u as R};
|
|
2
|
+
//# sourceMappingURL=RefetchingIndicator-BrP7yEiB.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Page as s,Header as u}from"@backstage/core-components";import{makeStyles as E}from"@material-ui/core";import{SpotifyLicenseBanner as i}from"@spotify/backstage-plugin-core";import e,{useState as d,useEffect as v}from"react";import{U as f,G as g,O as m}from"./OverviewPageContent-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{Page as s,Header as u}from"@backstage/core-components";import{makeStyles as E}from"@material-ui/core";import{SpotifyLicenseBanner as i}from"@spotify/backstage-plugin-core";import e,{useState as d,useEffect as v}from"react";import{U as f,G as g,O as m}from"./OverviewPageContent-CBL-e1xr.esm.js";import{S as n,w as S}from"./EmptyState-C2zsaDrr.esm.js";import{s as a,i as p}from"./license-CQErZDIh.esm.js";import{stringifyEntityRef as k}from"@backstage/catalog-model";import{useEntity as w}from"@backstage/plugin-catalog-react";import{useSearchParams as y,Routes as P,Route as h}from"react-router-dom";import"@backstage/core-plugin-api";import"react-use/lib/useAsync";import"@material-ui/lab/Autocomplete";import"react-use/lib/useLocalStorage";import"@tanstack/react-query";import"./routes-DcGwdXHX.esm.js";import"graphql-request";import"graphql-tag";import"@backstage/core-compat-api";import"@material-ui/icons/ExpandMore";import"@material-ui/icons/ArrowDropDown";import"@material-ui/icons/ArrowDropUp";import"@material-ui/core/styles";import"framer-motion";import"./RefetchingIndicator-BrP7yEiB.esm.js";import"react-use/lib/useDebounce";import"react-use/lib/useUnmount";import"react-window";import"@material-ui/lab";import"lodash";import"@material-ui/icons/Check";import"@material-ui/icons/Close";import"@material-ui/icons/HelpOutline";import"@material-ui/icons/RemoveCircleOutline";import"@material-ui/icons/ReportProblemOutlined";import"classnames";import"../images/empty-state.svg";const C=E(t=>({overviewContainer:{padding:t.spacing(1,3)}})),G=t=>{const{title:r="Soundcheck"}=t,o=C(),[c,l]=d(void 0);return e.createElement(n,null,e.createElement(f,null,e.createElement(S,null,e.createElement(s,{themeId:"website"},e.createElement(i,{backend:a,invalidLicenseMessage:p}),e.createElement(u,{title:r},e.createElement(g,{setError:l})),e.createElement("div",{className:o.overviewContainer},e.createElement(m,{groupSelectorError:c}))))))},L=()=>{const{entity:t}=w(),[r,o]=y();return v(()=>{!r.get("group")&&t&&(r.set("group",k(t)),o(r,{replace:!0}))},[r,o,t]),e.createElement(n,null,e.createElement(P,null,e.createElement(h,{path:"/*",element:e.createElement(e.Fragment,null,e.createElement(i,{backend:a,invalidLicenseMessage:p,inline:!0}),e.createElement(m,{isFixedGroup:!0}))})))};export{L as FixedGroupOverviewPage,G as OverviewPage};
|
|
2
|
+
//# sourceMappingURL=index-1faKkIS7.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t from"react";import{S as o}from"./EmptyState-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import t from"react";import{S as o}from"./EmptyState-C2zsaDrr.esm.js";import{C as i}from"./Card-BU6-9YfF.esm.js";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"lodash";import"@material-ui/core";import"@material-ui/lab";import"@material-ui/icons/Check";import"@material-ui/icons/Close";import"@material-ui/icons/HelpOutline";import"@material-ui/icons/RemoveCircleOutline";import"@material-ui/icons/ReportProblemOutlined";import"./routes-DcGwdXHX.esm.js";import"graphql-request";import"graphql-tag";import"@backstage/core-compat-api";import"classnames";import"@backstage/catalog-model";import"@backstage/plugin-catalog-react";import"../images/empty-state.svg";import"@backstage/core-components";import"@material-ui/core/styles/makeStyles";import"@spotify/backstage-plugin-core";import"./CertificationSidebar-DB4UqW7X.esm.js";import"react-router-dom";import"@material-ui/icons/Schedule";import"luxon";import"./license-CQErZDIh.esm.js";const m=({title:r})=>t.createElement(o,null,t.createElement(i,{title:r}));export{m as EntitySoundcheckCard};
|
|
2
|
+
//# sourceMappingURL=index-B3L_axCg.esm.js.map
|